def testSDPGen(self): from shtoom.rtp.formats import SDPGenerator, PTMarker from shtoom.sdp import SDP a_ = self.assertTrue class DummyRTP: def getVisibleAddress(self): return ('127.0.0.1', 23456) rtp = DummyRTP() sdp = SDP(SDPGenerator().getSDP(rtp).show()) rtpmap = sdp.getMediaDescription('audio').rtpmap for pt, (entry, ptmarker) in rtpmap.items(): a_(isinstance(ptmarker, PTMarker))
def getSDP(self, rtp, extrartp=None): from shtoom.sdp import SDP, MediaDescription if extrartp: raise ValueError("can't handle multiple RTP streams in a call yet") s = SDP() addr = rtp.getVisibleAddress() s.setServerIP(addr[0]) md = MediaDescription() # defaults to type 'audio' s.addMediaDescription(md) md.setServerIP(addr[0]) md.setLocalPort(addr[1]) for pt, test in TryCodecs.items(): if test is not None: md.addRtpMap(pt) md.addRtpMap(PT_PCMU) md.addRtpMap(PT_CN) md.addRtpMap(PT_NTE) return s
def acceptedFakeCall(self, cookie): from shtoom.sdp import SDP, MediaDescription s = SDP() s.setServerIP('127.0.0.1') md = MediaDescription() s.addMediaDescription(md) md.setLocalPort(9876) if TDEBUG: print "accepted, got %r"%(cookie,) self.cookie = cookie d, self.d = self.d, None self.sip.app.startCall(self.cookie, s, d.callback)