From zooko at zooko.com Mon Sep 6 18:09:23 2004 From: zooko at zooko.com (Bryce O'Whielacronx) Date: Mon, 6 Sep 2004 13:09:23 -0300 Subject: [Shtoom] unit tests Message-ID: <1E62052E-001F-11D9-86D7-000A95E2A184@zooko.com> Shtoom unit tests hang. It might have something to do with my networking setup. I'll investigate later, but I wanted to report it right away. Here is the output of "trial shtoom.test": dialog is None, None> callStarted CallCookie1 incoming callConnected CallCookie1 The output of "trial -v shtoom.test" is appended. Regards, Zooko shtoom.test.test_callcontrol TestCallControl testInboundRemoteBye ... ESC[31;1m[ERROR]ESC[0m testOutboundLocalBye ... ESC[31;1m[ERROR]ESC[0m shtoom.test.test_dougstatemachine StateMachineTest testBrokenStateMachine ... No matching event for DummyEvent2_2 in state second ESC[32;1m[OK]ESC[0m testStateMachine ... ESC[32;1m[OK]ESC[0m shtoom.test.test_new_sdp SDPGeneration testIntersectSDP ... ESC[32;1m[OK]ESC[0m testParseShowSDP ... ESC[32;1m[OK]ESC[0m shtoom.test.test_rtcp RTCPdecodeCase testByeWithReason ... ESC[32;1m[OK]ESC[0m testCompoundRTCP ... ESC[32;1m[OK]ESC[0m testRoundtripBYE ... ESC[32;1m[OK]ESC[0m testSDESdecode ... ESC[32;1m[OK]ESC[0m shtoom.test.test_rtp TestRTP testNTEencoding ... ESC[32;1m[OK]ESC[0m shtoom.test.test_sdp SDPGeneration testSimpleSDP ... ESC[32;1m[OK]ESC[0m shtoom.test.test_sipaddresses AddressParsingTests testAddressClass ... ESC[32;1m[OK]ESC[0m testParsingAndFormatting ... ESC[32;1m[OK]ESC[0m shtoom.test.test_sipauth AuthTest test_sipSimpleAuth ... ESC[32;1m[OK]ESC[0m shtoom.test.test_sipdialog DialogTests testDialogCtor ... ESC[32;1m[OK]ESC[0m shtoom.test.test_stun NetAddressTests testNetAddressInit ... ESC[32;1m[OK]ESC[0m testNetAddressMembership ... ESC[32;1m[OK]ESC[0m ======================================================================== ======= ERROR: testInboundRemoteBye (shtoom.test.test_callcontrol.TestCallControl) ------------------------------------------------------------------------ ------- Traceback (most recent call last): File "/usr/lib/python2.3/site-packages/twisted/trial/unittest.py", line 252, in _runPhase stage(*args, **kwargs) File "/usr/lib/python2.3/site-packages/twisted/trial/unittest.py", line 274, in _main self.runner(self.method) File "/usr/lib/python2.3/site-packages/twisted/trial/runner.py", line 104, in runTest method() File "/home/zooko/playground/shtoom/Shtoom/shtoom/shtoom/test/ test_callcontrol.py", line 278, in testInboundRemoteBye p.boot() File "/home/zooko/playground/shtoom/Shtoom/shtoom/shtoom/app/phone.py", line 39, in boot self.initOptions(options) File "/home/zooko/playground/shtoom/Shtoom/shtoom/shtoom/app/base.py", line 28, in initOptions options.optionsStartup(version='%%prog %s'%shtoom.__version__) File "/home/zooko/playground/shtoom/Shtoom/shtoom/shtoom/Options.py", line 307, in optionsStartup (opts, args) = parser.parse_args() File "/usr/lib/python2.3/optparse.py", line 1129, in parse_args stop = self._process_args(largs, rargs, values) File "/usr/lib/python2.3/optparse.py", line 1173, in _process_args self._process_short_opts(rargs, values) File "/usr/lib/python2.3/optparse.py", line 1256, in _process_short_opts self.error("no such option: %s" % opt) File "/usr/lib/python2.3/optparse.py", line 1296, in error sys.exit("%s: error: %s" % (self._get_prog_name(), msg)) SystemExit: trial: error: no such option: -v ======================================================================== ======= ERROR: testOutboundLocalBye (shtoom.test.test_callcontrol.TestCallControl) ------------------------------------------------------------------------ ------- Traceback (most recent call last): File "/usr/lib/python2.3/site-packages/twisted/trial/unittest.py", line 252, in _runPhase stage(*args, **kwargs) File "/usr/lib/python2.3/site-packages/twisted/trial/unittest.py", line 274, in _main self.runner(self.method) File "/usr/lib/python2.3/site-packages/twisted/trial/runner.py", line 104, in runTest method() File "/home/zooko/playground/shtoom/Shtoom/shtoom/shtoom/test/ test_callcontrol.py", line 227, in testOutboundLocalBye p.boot() File "/home/zooko/playground/shtoom/Shtoom/shtoom/shtoom/app/phone.py", line 39, in boot self.initOptions(options) File "/home/zooko/playground/shtoom/Shtoom/shtoom/shtoom/app/base.py", line 28, in initOptions options.optionsStartup(version='%%prog %s'%shtoom.__version__) File "/home/zooko/playground/shtoom/Shtoom/shtoom/shtoom/Options.py", line 307, in optionsStartup (opts, args) = parser.parse_args() File "/usr/lib/python2.3/optparse.py", line 1129, in parse_args stop = self._process_args(largs, rargs, values) File "/usr/lib/python2.3/optparse.py", line 1173, in _process_args self._process_short_opts(rargs, values) File "/usr/lib/python2.3/optparse.py", line 1256, in _process_short_opts self.error("no such option: %s" % opt) File "/usr/lib/python2.3/optparse.py", line 1296, in error sys.exit("%s: error: %s" % (self._get_prog_name(), msg)) SystemExit: trial: error: no such option: -v ------------------------------------------------------------------------ ------- Ran 18 tests in 0.525s FAILED (errors=2) From zooko at zooko.com Wed Sep 15 00:59:23 2004 From: zooko at zooko.com (Zooko O'Whielacronx) Date: 14 Sep 2004 19:59:23 -0300 Subject: [Shtoom] weird asymmetric lag on OSX Message-ID: I just made my first call from Shtoom/Mac OS X. The audio from me to him was hugely lagged from the very start, where huge is approximately equal to 10 seconds. The audio from him to me had minimal lag. I'm at a loss to explain this, although of course I suspect the imprecise select(2) timeout on OSX could have something to do with it. Anthony: want to call me on my Grandstream BudgeTone 101 with Shtoom/OSX on your end? Regards, Zooko From zooko at zooko.com Wed Sep 15 01:17:57 2004 From: zooko at zooko.com (Zooko O'Whielacronx) Date: 14 Sep 2004 20:17:57 -0300 Subject: [Shtoom] bug report: successive calls don't work Message-ID: <5089F966-06A4-11D9-8410-000A95E2A184@zooko.com> When I make a call to sip:613 at fwd.pulver.com, and the 613 server hangs up, then I can't make another call until I exit Shtoom and restart it. This also happened when making a call to another SIP phone. Is there a bug tracker I can use for these? --Z From zooko at zooko.com Wed Sep 15 23:52:39 2004 From: zooko at zooko.com (Zooko O'Whielacronx) Date: 15 Sep 2004 18:52:39 -0300 Subject: [Shtoom] IAX2 protocol doc Message-ID: <8FF50643-0761-11D9-8410-000A95E2A184@zooko.com> http://www.cornfed.com/iax.pdf Anthony: Would you like a unified diff for the Shtoom FAQ? You'll have to tell me what to say about supporting IAX. --Z From zooko at zooko.com Thu Sep 16 03:55:55 2004 From: zooko at zooko.com (zooko at zooko.com) Date: 15 Sep 2004 21:55:55 -0400 Subject: [Shtoom] bug report with log Message-ID: This is the output of ./scripts/shtoomphone.py --ui text | tee errfilename. This seems to happen often, when I have just finished using shtoomphone in a previous process a minute earlier. --Z Welcome to shtoom >> 2004/09/15 21:47 EDT [-] Log opened. 2004/09/15 21:47 EDT [-] after tries, ui: 2004/09/15 21:47 EDT [-] starting on 5060 2004/09/15 21:47 EDT [-] Starting protocol 2004/09/15 21:47 EDT [app] sip listener installed 2004/09/15 21:47 EDT [-] no outstanding registrations, registering 2004/09/15 21:47 EDT [-] sip:479317 at fwd.pulver.com 2004/09/15 21:47 EDT [-] sip:479317 at fwd.pulver.com 2004/09/15 21:47 EDT [-] /home/zooko/playground/shtoom/shtoom/shtoom/sip.py:282: exceptions.DeprecationWarning: use listenUDP and then transport.connect(). 2004/09/15 21:47 EDT [-] twisted.internet.protocol.ConnectedDatagramProtocol starting on 0 2004/09/15 21:47 EDT [-] Starting protocol 2004/09/15 21:47 EDT [-] /home/zooko/playground/shtoom/shtoom/shtoom/sip.py:284: exceptions.DeprecationWarning: IPv4Address.__getitem__ is deprecated. Use attributes instead. 2004/09/15 21:47 EDT [-] /home/zooko/playground/shtoom/shtoom/shtoom/sip.py:285: exceptions.DeprecationWarning: IPv4Address.__getitem__ is deprecated. Use attributes instead. 2004/09/15 21:47 EDT [sip] discovered local address ('192.168.1.101', 5060), remote ('fwd.pulver.com', 5060) 2004/09/15 21:47 EDT [sip] stun policy says yes, use STUN 2004/09/15 21:47 EDT [-] /home/zooko/playground/shtoom/shtoom/shtoom/stun.py:99: exceptions.DeprecationWarning: Please only pass IPs to write(), not hostnames 2004/09/15 21:47 EDT [-] (Port 0 Closed) 2004/09/15 21:47 EDT [-] Stopping protocol >> >> 2004/09/15 21:47 EDT [-] placeCall starting 2004/09/15 21:47 EDT [-] call is 2004/09/15 21:47 EDT [-] sip:479317 at fwd.pulver.com 2004/09/15 21:47 EDT [sip] stun policy says yes, use STUN >> 2004/09/15 21:47 EDT [stun] got STUN response from ('192.98.81.87', 3478) 2004/09/15 21:47 EDT [sip] according to STUN, local address is 24.222.141.10:5060 2004/09/15 21:47 EDT [shtoom.sip.SipPhone (UDP)] startSendInvite 1 2004/09/15 21:47 EDT [shtoom.sip.SipPhone (UDP)] dialog is ;tag=02180269->sip:613 at fwd.pulver.com, 400221005 at 24.222.141.10> 2004/09/15 21:47 EDT [phone] Getting new audio device 2004/09/15 21:47 EDT [shtoom.sip.SipPhone (UDP)] audio: __init__ 2004/09/15 21:47 EDT [shtoom.sip.SipPhone (UDP)] audio: close 2004/09/15 21:47 EDT [shtoom.sip.SipPhone (UDP)] Got new audio device 2004/09/15 21:47 EDT [shtoom.sip.SipPhone (UDP)] shtoom.rtp.RTPProtocol starting on 47732 2004/09/15 21:47 EDT [shtoom.sip.SipPhone (UDP)] Starting protocol 2004/09/15 21:47 EDT [shtoom.sip.SipPhone (UDP)] shtoom.rtcp.RTCPProtocol starting on 47733 2004/09/15 21:47 EDT [shtoom.sip.SipPhone (UDP)] Starting protocol 2004/09/15 21:47 EDT [ui] Call CallCookie1 STARTED 2004/09/15 21:47 EDT [stun] got STUN response from ('192.98.81.87', 3478) 2004/09/15 21:47 EDT [stun] got STUN response from ('192.98.81.87', 3478) 2004/09/15 21:47 EDT [rtp] got STUN back! [(True, ('24.222.141.10', 47732)), (True, ('24.222.141.10', 47733))] 2004/09/15 21:47 EDT [rtp] discovered sane NAT for RTP/RTCP 2004/09/15 21:47 EDT [shtoom.rtcp.RTCPProtocol (UDP)] sendinvite setting cookie to CallCookie1 2004/09/15 21:47 EDT [shtoom.rtcp.RTCPProtocol (UDP)] audio: listFormats 2004/09/15 21:47 EDT [shtoom.rtcp.RTCPProtocol (UDP)] sip:613 at fwd.pulver.com 2004/09/15 21:47 EDT [sip] Invite INVITE sip:613 at fwd.pulver.com SIP/2.0 Via: SIP/2.0/UDP 24.222.141.10:5060 CSeq: 4870 INVITE To: sip:613 at fwd.pulver.com Content-Type: application/sdp From: "479317" ;tag=02180269 Call-ID: 400221005 at 24.222.141.10 Subject: sip:479317 at fwd.pulver.com Allow-Events: telephone-event User-Agent: Shtoom/0.3alpha0 Contact: sip:479317 at 24.222.141.10:5060 Content-Length: 177 v=0 o=root 26316 26316 IN IP4 24.222.141.10 s=shtoom c=IN IP4 24.222.141.10 t=0 0 m=audio 47732 RTP/AVP 0 101 a=rtpmap:0 PCMU/8000/1 a=rtpmap:101 telephone-event/8000/1 2004/09/15 21:47 EDT [shtoom.rtcp.RTCPProtocol (UDP)] /home/zooko/playground/shtoom/shtoom/shtoom/sip.py:522: exceptions.DeprecationWarning: Please only pass IPs to write(), not hostnames 2004/09/15 21:47 EDT [shtoom.sip.SipPhone (UDP)] "error, unknown transaction ID 2.0 407 Proxy Au, have ['\\x13\\xb9\\xda[\\xed\\x1cs\\x11_\\x1f\\xc5tp4_\\xd4']" From zooko at zooko.com Thu Sep 16 04:07:44 2004 From: zooko at zooko.com (Zooko O'Whielacronx) Date: 15 Sep 2004 23:07:44 -0300 Subject: [Shtoom] possible bug report: weird asymmetric lag on Linux Message-ID: <32BB0CD4-0785-11D9-8410-000A95E2A184@zooko.com> I *think* that I got the same outbound lag on Linux as I earlier reported on Mac. I'm not sure, because I think 613 at fwd.pulver.com hung up before the ~10s lag time is up. On both platforms I was using text interface. I tried again and got the "inconsistent call state barf" situation that I reported in my previous mail. Now I must sleep. --Z From zooko at zooko.com Thu Sep 16 20:13:29 2004 From: zooko at zooko.com (zooko at zooko.com) Date: 16 Sep 2004 14:13:29 -0400 Subject: [Shtoom] bug report with detailed logs Message-ID: Shtoom appears to be getting its packet order mixed up. tethereal says this is what happened: 1 0.000000 192.168.1.101 -> 192.98.81.87 STUN Message : Binding Request 2 0.177187 192.98.81.87 -> 192.168.1.101 STUN Message : Binding Response 3 0.192145 192.168.1.101 -> 192.246.69.223 SIP Request: REGISTER sip:479317 at fwd.pulver.com 4 0.246508 192.246.69.223 -> 192.168.1.101 SIP Status: 401 Unauthorized (0 bindings) 5 0.292164 192.168.1.101 -> 192.246.69.223 SIP Request: REGISTER sip:479317 at fwd.pulver.com 6 0.346071 192.246.69.223 -> 192.168.1.101 SIP Status: 200 OK (2 bindings) Shtoom's debug log is appended, but the relevant snippets look like this, and appeared in this order in the log window: 14:07:58: register sent REGISTER sip:479317 at fwd.pulver.com SIP/2.0 ... 14:07:58: got SIP response SIP/2.0 200 OK ... 14:07:58: got SIP response 200: OK 14:07:58: SIP PACKET SIP/2.0 200 OK ... 14:07:58: Got a SIP packet from 192.246.69.223:5060 14:07:58: register sent REGISTER sip:479317 at fwd.pulver.com SIP/2.0 ... 14:07:58: got SIP response SIP/2.0 401 Unauthorized ... 14:07:58: got SIP response 401: Unauthorized 14:07:58: SIP PACKET SIP/2.0 401 Unauthorized ... 14:07:58: Got a SIP packet from 192.246.69.223:5060 After this, Shtoom is in the "I think I'm unregistered" state. If I try to make a call, it will go into "I'm calling" state but do nothing. When I try to hang up that call, it will give an internal error. This is with the wx GUI. Perhaps the separate-thread-for-wx-GUI is getting involved. Regards, Zooko full log window contents appended 14:07:58: register sent REGISTER sip:479317 at fwd.pulver.com SIP/2.0 Via: SIP/2.0/UDP 24.222.141.10:5060 CSeq: 1226 REGISTER To: sip:479317 at fwd.pulver.com From: sip:479317 at fwd.pulver.com Expires: 900 Call-ID: 400571354 at 24.222.141.10 User-Agent: Shtoom/0.3alpha0 Contact: Content-Length: 0 14:07:58: got SIP response SIP/2.0 200 OK Via: SIP/2.0/UDP 192.168.1.101:5060 CSeq: 1227 REGISTER To: sip:479317 at fwd.pulver.com;tag=ec5154884c15db89cef5049aa4f06328.356e From: sip:479317 at fwd.pulver.com Call-ID: 400571354 at 24.222.141.10 Contact: ;q=0.00;expires=1517 Contact: ;q=0.00;expires=900 Server: Sip EXpress router (0.8.12 (i386/linux)) Content-Length: 0 14:07:58: got SIP response 200: OK 14:07:58: SIP PACKET SIP/2.0 200 OK Via: SIP/2.0/UDP 192.168.1.101:5060 CSeq: 1227 REGISTER To: sip:479317 at fwd.pulver.com;tag=ec5154884c15db89cef5049aa4f06328.356e From: sip:479317 at fwd.pulver.com Call-ID: 400571354 at 24.222.141.10 Contact: ;q=0.00;expires=1517 Contact: ;q=0.00;expires=900 Server: Sip EXpress router (0.8.12 (i386/linux)) Content-Length: 0 14:07:58: Got a SIP packet from 192.246.69.223:5060 14:07:58: register sent REGISTER sip:479317 at fwd.pulver.com SIP/2.0 Via: SIP/2.0/UDP 24.222.141.10:5060 CSeq: 1227 REGISTER To: sip:479317 at fwd.pulver.com From: sip:479317 at fwd.pulver.com Expires: 900 Call-ID: 400571354 at 24.222.141.10 Authorization: Digest username="479317", realm="fwd.pulver.com", nonce="4149d7ab75021957dd37fd9002259a1b2eedefef", uri="sip:479317 at fwd.pulver.com", response="70b9ec7bac7914ed4b93e8507a197276" User-Agent: Shtoom/0.3alpha0 Contact: Content-Length: 0 14:07:58: got SIP response SIP/2.0 401 Unauthorized Via: SIP/2.0/UDP 24.222.141.10:5060 CSeq: 1226 REGISTER To: sip:479317 at fwd.pulver.com;tag=ec5154884c15db89cef5049aa4f06328.356e From: sip:479317 at fwd.pulver.com Call-ID: 400571354 at 24.222.141.10 WWW-Authenticate: Digest realm="fwd.pulver.com", nonce="4149d7ab75021957dd37fd9002259a1b2eedefef" Server: Sip EXpress router (0.8.12 (i386/linux)) Content-Length: 0 14:07:58: got SIP response 401: Unauthorized 14:07:58: SIP PACKET SIP/2.0 401 Unauthorized Via: SIP/2.0/UDP 24.222.141.10:5060 CSeq: 1226 REGISTER To: sip:479317 at fwd.pulver.com;tag=ec5154884c15db89cef5049aa4f06328.356e From: sip:479317 at fwd.pulver.com Call-ID: 400571354 at 24.222.141.10 WWW-Authenticate: Digest realm="fwd.pulver.com", nonce="4149d7ab75021957dd37fd9002259a1b2eedefef" Server: Sip EXpress router (0.8.12 (i386/linux)) Content-Length: 0 14:07:58: Got a SIP packet from 192.246.69.223:5060 From holgerlists at blasum.net Thu Sep 16 20:53:07 2004 From: holgerlists at blasum.net (Holger Blasum) Date: Thu, 16 Sep 2004 20:53:07 +0200 Subject: [Shtoom] software patents Message-ID: <20040916185307.GA6098@bovmas.vetmed.uni-muenchen.de> Hi shtoom, 700 hits for voice over ip in espacenet http://v3.espacenet.com/results?AB=voip&sf=q&FIRST=1&CY=ep&LG=en&DB=EPODOC&st=AB&kw=voip&Submit=SEARCH&=&=&=&=&= nice ... attached is a blurb on swpat in europe ... it really *may* be at Council of Ministers at 24 Sept so warm up to contact your (national) MP. If anybody is interested in going into voip patent garbage specifically, please drop a note ;) --- FFII: EU Software Patents in the Council: Status What's Happening: ----------------- We need to act now to tell our representatives not to support the EU Council's attempts to overturn the European law under which software is not patentable: http://kwiki.ffii.org/ShortIntroEn Please tell your representatives to withdraw support for the EU Council's Software Patents Directive, or we may have to live with the results of this decision for a very long time. - Please send the Urgent Call to your representatives: http://kwiki.ffii.org/LtrConsSend0406En - Please send postcards to your representatives: http://kwiki.ffii.org/Postkard0407En Personal contacts make all the difference. We need MPs and MEPs and Ministers who deal with technology and innovation to receive multiple postcards and Urgent Call letters from their constituents. Translations of the Urgent Call, sample postcards and Contact addresses are available for many countries at the above links. If you don't find the information for your country, please add it. Feedback and Pointers: ---------------------- We conduct volunteer outreach via IRC every Monday night on #bxl-ffii at irc.debian.org. You are welcome to come in at other times too. Web interface at: http://bxl-ffii.miernik.ctnet.pl Send an e-mail to feedback at ffii.org with this form filled out to register for the following actions: * am interested autumn camp (17-20 Sept 2004) in Markelo, NL http://kwiki.ffii.org/Ffiinl0409En * Brussels conference, November http://plone.ffii.org/events/2004/test * if you would like to go to Brussels, answer me (Holger, posting this) directly (we may try to help to arrange something) --- Activity Status: - Volunteers in the Netherlands Convinced the Dutch Parliament to Withdraw Support for the Directive: http://kwiki.ffii.org/NlMot040701En - 48 Volunteers have Sent 217 Urgent Calls to 130 Recipients in 11 Countries Since July 1 : http:LtrConsSend0406En - 8 Volunteers have Sent 19 Postcards to 18 Recipients in 8 Countries Since August 21: http:PostkardSend0407En Related News: http://kwiki.ffii.org/SwpatcninoEn -- Holger Blasum +49-174-7313590 GPG ACDFC3B769DC NO Software Patents - Power to the Parliament! http://muenchen.ffii.org/ http://kwiki.ffii.org/IrcEn #bxl-ffii at freenode, esp. Mon 19:30 CEST From zooko at zooko.com Fri Sep 17 22:27:09 2004 From: zooko at zooko.com (zooko at zooko.com) Date: 17 Sep 2004 16:27:09 -0400 Subject: [Shtoom] patch: fix typo in test_callcontrol.py Message-ID: HACK pion:~/playground/shtoom$ darcs diff -u --last=1 Fri Sep 17 16:23:48 EDT 2004 zooko at zooko.com * fix typo in test_callcontrol diff -rN -u shtoom-old/shtoom/shtoom/test/test_callcontrol.py shtoom-new/shtoom/shtoom/test/test_callcontrol.py --- shtoom-old/shtoom/shtoom/test/test_callcontrol.py 2004-09-17 16:26:53.000000000 -0400 +++ shtoom-new/shtoom/shtoom/test/test_callcontrol.py 2004-09-17 16:23:46.000000000 -0400 @@ -142,15 +142,15 @@ def acceptedFakeCall(self, cookie): from shtoom.sdp import SDP, MediaDescription - sdp = SDP() - sdp.setServerIP('127.0.0.1') + s = SDP() + s.setServerIP('127.0.0.1') md = MediaDescription() s.addMediaDescription(md) md.setLocalPort(9876) print "accepted, got %r"%(cookie,) self.cookie = cookie d, self.d = self.d, None - self.sip.app.startCall(self.cookie, sdp, d.callback) + self.sip.app.startCall(self.cookie, s, d.callback) def rejectedFakeCall(self, e): print "rejected, got %r"%(e,) From zooko at zooko.com Fri Sep 17 22:30:10 2004 From: zooko at zooko.com (zooko at zooko.com) Date: 17 Sep 2004 16:30:10 -0400 Subject: [Shtoom] patch: removed unused method RTPProtocol.reactorWakeUp() Message-ID: HACK pion:~/playground/shtoom$ darcs annotate -u --patch="removed unused method RTPProtocol.reactorWakeUp()" [removed unused method RTPProtocol.reactorWakeUp() zooko at zooko.com**20040903113301] < > { hunk ./shtoom/shtoom/rtp.py 265 if hasattr(self.transport, 'connect'): self.transport.connect(*self.dest) - def reactorWakeUp(self, n, f, reactor=reactor): - reactor.wakeUp() - def datagramReceived(self, datagram, addr, unpack=struct.unpack): hdr = struct.unpack('!BBHII', datagram[:12]) # Don't care about the marker bit. } From zooko at zooko.com Fri Sep 17 22:30:41 2004 From: zooko at zooko.com (zooko at zooko.com) Date: 17 Sep 2004 16:30:41 -0400 Subject: [Shtoom] simplify and fix indentation error Message-ID: HACK pion:~/playground/shtoom$ darcs annotate -u --patch="simplify and fix indentation error" [simplify and fix indentation error zooko at zooko.com**20040903200835] < > { hunk ./shtoom/shtoom/rtp.py 255 # need an outbound packet to let the inbound back. # PT 13 is CN. log.msg("sending comfort noise to seed firewall to %s:%d"%(self.dest), system='rtp') - if RTP_PT_CN is not None: - cnpt = RTP_PT_CN - else: - cnpt = 13 - hdr = struct.pack('!BBHII', 0x80, cnpt, self.seq, - self.ts, self.ssrc) - self.transport.write(hdr+chr(0), self.dest) + hdr = struct.pack('!BBHII', 0x80, RTP_PT_CN, self.seq, self.ts, self.ssrc) + self.transport.write(hdr+chr(0), self.dest) if hasattr(self.transport, 'connect'): self.transport.connect(*self.dest) } From zooko at zooko.com Fri Sep 17 22:31:18 2004 From: zooko at zooko.com (zooko at zooko.com) Date: 17 Sep 2004 16:31:18 -0400 Subject: [Shtoom] patch: reorder #includes to avoid #define collision Message-ID: HACK pion:~/playground/shtoom$ darcs annotate -u --patch="reorder #includes to avoid #define collision" [reorder #includes to avoid #define collision zooko at zooko.com**20040829163622] < > { hunk ./CocoaAudio/numarray\32\buffer/coreaudio.c 3 /* Generated by Pyrex 0.9 on Tue Mar 9 19:33:26 2004 */ +#include "CoreAudio/AudioHardware.h" #include "Python.h" #include "structmember.h" #include "pthread.h" hunk ./CocoaAudio/numarray\32\buffer/coreaudio.c 11 #include "string.h" #include "math.h" #include "numarray/libnumarray.h" -#include "CoreAudio/AudioHardware.h" static PyObject *__Pyx_UnpackItem(PyObject *, int); /*proto*/ hunk ./CocoaAudio/python\32\callbacks/coreaudio.c 3 /* Generated by Pyrex 0.9 on Wed Mar 10 10:57:48 2004 */ +#include "CoreAudio/AudioHardware.h" #include "Python.h" #include "structmember.h" #include "stdio.h" hunk ./CocoaAudio/python\32\callbacks/coreaudio.c 10 #include "string.h" #include "math.h" #include "numarray/libnumarray.h" -#include "CoreAudio/AudioHardware.h" static PyObject *__Pyx_UnpackItem(PyObject *, int); /*proto*/ } From zooko at zooko.com Fri Sep 17 22:32:02 2004 From: zooko at zooko.com (zooko at zooko.com) Date: 17 Sep 2004 16:32:02 -0400 Subject: [Shtoom] remove unused import Message-ID: HACK pion:~/playground/shtoom$ darcs annotate -u --patch="remove unused import" [remove unused import zooko at zooko.com**20040903111834] < > { hunk ./shtoom/shtoom/sip.py 19 from twisted.internet import defer from twisted.internet import reactor from twisted.protocols import sip as tpsip -from rtp import RTPProtocol import shtoom from shtoom import __version__ as ShtoomVersion } From zooko at zooko.com Fri Sep 17 22:38:43 2004 From: zooko at zooko.com (zooko at zooko.com) Date: 17 Sep 2004 16:38:43 -0400 Subject: [Shtoom] patch: catch Tkinter exception so that ui selection can proceed Message-ID: HACK pion:~/playground/shtoom$ darcs annotate -u --patch="catch Tkinter exception so that ui selection can proceed" [catch Tkinter exception so that ui selection can proceed zooko at zooko.com**20040917203757] < > { hunk ./shtoom/shtoom/ui/select.py 38 except ImportError: Tkinter = None if Tkinter is not None: - from shtoom.ui.tkshtoom import main - return main(application) + try: + from shtoom.ui.tkshtoom import main + return main(application) + except Tkinter.TclError, le: + pass def tryGnomeInterface(application): import sys } From zooko at zooko.com Fri Sep 17 22:40:47 2004 From: zooko at zooko.com (zooko at zooko.com) Date: 17 Sep 2004 16:40:47 -0400 Subject: [Shtoom] about those patches Message-ID: Sorry if they are sufficiently weird that patch won't process them. I haven't figured out how to get straight unified diffs out of darcs yet. You can browse my repository at http://zooko.com/repos/shtoom Regards, Zooko From itamar at itamarst.org Sat Sep 18 03:54:19 2004 From: itamar at itamarst.org (Itamar Shtull-Trauring) Date: Fri, 17 Sep 2004 21:54:19 -0400 Subject: [Shtoom] about those patches In-Reply-To: References: Message-ID: <1095472459.1291.9.camel@sheriffpony> Can someone just give zooko commit access? :) From zooko at zooko.com Sat Sep 18 12:31:31 2004 From: zooko at zooko.com (Zooko Wilcox-O'Hearn) Date: 18 Sep 2004 07:31:31 -0300 Subject: [Shtoom] about those patches In-Reply-To: <1095472459.1291.9.camel@sheriffpony> References: <1095472459.1291.9.camel@sheriffpony> Message-ID: On 2004, Sep 17, , at 22:54, Itamar Shtull-Trauring wrote: > Can someone just give zooko commit access? :) That would be fine. Also Will Glozer is adding a feature to the darcs.cgi script so that you can pull unified diffs out of it. Also I learned how to get a list of my patches: http://zooko.com/cgi-bin/darcs.cgi/shtoom/?c=patches From anthony at interlink.com.au Mon Sep 20 03:50:42 2004 From: anthony at interlink.com.au (Anthony Baxter) Date: Mon, 20 Sep 2004 11:50:42 +1000 Subject: [Shtoom] about those patches In-Reply-To: References: Message-ID: <414E3772.4000808@interlink.com.au> I've applied those patches to svn, thanks! I made one small change, which is to leave RTP_PT_CN parameterised for the firewall-seeding packet. Until #$#($ IOS 12.2 and earlier are dead dead dead, we'll have to cope with boxes using the wrong PT for comfort noise. Given 12.3(10) is the first 12.3 release that's actually _usable_, and it's only a month old, this could be a while. I've asked dash to set you up with commit access. I should think about a -commits list, too. I'll look at the bug reports later - I didn't have my laptop with me all weekend, sorry for the lack of response. Anthony From zooko at zooko.com Mon Sep 20 11:17:23 2004 From: zooko at zooko.com (Zooko Wilcox-O'Hearn) Date: 20 Sep 2004 06:17:23 -0300 Subject: [Shtoom] note: unit tests Message-ID: The patch named "fix typo in test_callcontrol.py" fixes the test_callcontrol.testOutboundLocalBye unit test. I'm now looking at the testInboundRemoteBye unit test. Since there are several known bugs in call control state, I want to figure out how to add more unit tests to exercise that code better. --Z From zooko at zooko.com Mon Sep 20 12:15:55 2004 From: zooko at zooko.com (Zooko Wilcox-O'Hearn) Date: 20 Sep 2004 07:15:55 -0300 Subject: [Shtoom] about those patches In-Reply-To: <414E3772.4000808@interlink.com.au> References: <414E3772.4000808@interlink.com.au> Message-ID: <0F0A1474-0AEE-11D9-A5F7-000A95E2A184@zooko.com> > I've applied those patches to svn, thanks! I made one > small change, which is to leave RTP_PT_CN parameterised > for the firewall-seeding packet. I think we can have it just as parameterizable, but simpler. Your current code looks like this: # Sane systems RTP_PT_CN=13 # Cisco #RTP_PT_CN=19 # No comfort noise at all #RTP_PT_CN=None ... class RTPProtocol(DatagramProtocol): ... def sendFirstData(self): ... if RTP_PT_CN is not None: cnpt = RTP_PT_CN else: cnpt = 13 hdr = struct.pack('!BBHII', 0x80, cnpt, self.seq, self.ts, self.ssrc) I propose to change it to this: # Sane systems RTP_PT_CN=13 # Cisco #RTP_PT_CN=19 # No comfort noise at all #RTP_PT_CN=None ... class RTPProtocol(DatagramProtocol): ... def sendFirstData(self): ... hdr = struct.pack('!BBHII', 0x80, RTP_PT_CN, self.seq, self.ts, self.ssrc) If you think this simpler version is less parameterizable, then perhaps this is because you intended cnpt to be set at runtime? But as far as I can tell, it isn't. Regards, Zooko From anthony at interlink.com.au Mon Sep 20 13:07:49 2004 From: anthony at interlink.com.au (Anthony Baxter) Date: Mon, 20 Sep 2004 21:07:49 +1000 Subject: [Shtoom] note: unit tests In-Reply-To: References: Message-ID: <414EBA05.5080203@interlink.com.au> After some hints from warner and radix on #twisted, I've had it explained to me (using very small words) what I was doing wrong in the callcontrol tests, and I've fixed the unit tests so that they're working again. Adding more sounds like an _excellent_ idea. I _hope_ the current test_callcontrol.py code is obvious enough... For those playing along at home, there's now a #shtoom channel on irc.freenode.net. If I'm on-line, I'll be on that channel. Anthony From anthony at interlink.com.au Sat Sep 25 08:34:07 2004 From: anthony at interlink.com.au (Anthony Baxter) Date: Sat, 25 Sep 2004 16:34:07 +1000 Subject: [Shtoom] recent changes ; planning for 0.3 Message-ID: <4155115F.2050801@interlink.com.au> So I've recently completed a fairly major set of reworkings of the RTP/SDP handling and the audio device handling. In addition, I've put in a simple minded playout buffer that should hopefully stop the creeping delay problem that many people have complained about - it will add a 30ms delay to incoming calls. In addition, speex support is checked in, although it's not been tested against any other clients yet, but I believe I've got it right. I will be checking in support for a bunch of the G.72x codecs in the next week, after I test them against cisco's implementation. So, what's left before 0.3 release? Here's the entries from TODO: Definite before 0.3: - make sure Doug is up-to-date with recent refactorings - all interfaces must be current and correct - Asterisk is rejecting our ACK - e.g. to 613 at fwd.pulver.com - doug: implement leg bridging (inbound and outbound) - doug: use dropCall()'s deferred to generate correct events - doug: s.d.conferencing's entrance soundburst bug - ui(qt): hide multiple call support for now - Some sort of "debug dump" command that dumps relevant info (ui, audio, &c) for bugreports. - package for Mac, Windows - phone: when on a call, decline a second incoming call? - documentation, documentation, documentation - document Doug API - update website - create shtoom wiki - set svn:executable on the scripts - set up a decent roundup instance, load all entries from TODO Maybe before 0.3: - G.72x codec - doug: placeCall to a broken address doesn't give generate a correct event - let doug handle wav and au files natively. - MediaLayer: a more sophisticated playout buffer - cocoa native UI into it's own thread to workaround broken cfreactor - stun: timeout the STUN call, generate a nice error - sip: retry registration failures (e.g. for testcall) - sip: move more stuff into the Dialog class - ui(tk): new dialogs that don't block, and have a timeout. - sip/call: the state should become an object, encapsulating the current state, and the state machine. This makes it _much_ easier to handle retransmits and the like. - RTCP + NAT == RFC 3605 If there's other things you'd like to see, now's the time to speak up. Anthony -- Anthony Baxter It's never too late to have a happy childhood. _______________________________________________ Divmod-dev mailing list Divmod-dev at divmod.org http://divmod.org/users/mailman.twistd/listinfo/divmod-dev From smadi at power.eng.mcmaster.ca Tue Sep 28 23:38:09 2004 From: smadi at power.eng.mcmaster.ca (m. smadi) Date: Tue, 28 Sep 2004 17:38:09 -0400 Subject: [Shtoom] state diagram Message-ID: <4159D9C1.1050201@power.eng.mcmaster.ca> hi; I want to modify shtoom and start using it as a sip call 3rd party call controller. Obviously shtoom is implemented based on a state diagram. Can anyone provide me with this state diagram? thanks From zooko at zooko.com Wed Sep 29 14:38:16 2004 From: zooko at zooko.com (Zooko Wilcox-O'Hearn) Date: 29 Sep 2004 09:38:16 -0300 Subject: [Shtoom] regression on PowerPC Message-ID: <6F7B9B04-1214-11D9-8DF6-000A95E2A184@zooko.com> Looks like an endianess problem. FAILURE: testMuLawCodec (shtoom.test.test_codecs.CodecTest) ------------------------------------------------------------------------ ------- Traceback (most recent call last): File "/Users/zooko/playground/twisted-svn/twisted/trial/unittest.py", line 240, in _runPhase stage(*args, **kwargs) File "/Users/zooko/playground/twisted-svn/twisted/trial/unittest.py", line 262, in _main self.runner(self.method) File "/Users/zooko/playground/twisted-svn/twisted/trial/runner.py", line 95, in runTest method() File "/Users/zooko/playground/shtoom-svn/Shtoom/shtoom/shtoom/test/ test_codecs.py", line 67, in testMuLawCodec ae(c.encode(instr).data, ulawout) File "/Users/zooko/playground/twisted-svn/twisted/trial/unittest.py", line 115, in failUnlessEqual raise FailTest, (msg or '%r != %r' % (first, second)) FailTest: '\xfb\x8f\x00\x10\xfb\x8f\x00\x10\xfb\x8f\x00\x10\xfb\x8f\x00\x10\xfb\x8 f\x00\x10\xfb\x8f\x00\x10\xfb\x8f\x00\x10\xfb\x8f\x00\x10\xfb\x8f\x00\x1 0\xfb\x8f\x00 \x10\xfb\x8f\x00\x10\xfb\x8f\x00\x10\xfb\x8f\x00\x10\xfb\x8f\x00\x10\xfb \x8f\x00\x10\xfb\x8f\x00\x10\xfb\x8f\x00\x10\xfb\x8f\x00\x10\xfb\x8f\x00 \x10\xfb\x8f\x00\x10\xf b\x8f\x00\x10\xfb\x8f\x00\x10\xfb\x8f\x00\x10\xfb\x8f\x00\x10\xfb\x8f\x0 0\x10\xfb\x8f\x00\x10\xfb\x8f\x00\x10\xfb\x8f\x00\x10\xfb\x8f\x00\x10\xf b\x8f\x00\x10\xfb\x8f\x 00\x10\xfb\x8f\x00\x10\xfb\x8f\x00\x10\xfb\x8f\x00\x10\xfb\x8f\x00\x10\x fb\x8f\x00\x10\xfb\x8f\x00\x10\xfb\x8f\x00\x10\xfb\x8f\x00\x10\xfb\x8f\x 00\x10' != '\x9f\x87\x0 7 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\ x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x8 7\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\x87\x07 \x9f\ x87\x07 ' ------------------------------------------------------------------------ ------- Ran 52 tests in 4.951s FAILED (failures=1, skips=2) From anthony at interlink.com.au Wed Sep 29 17:03:15 2004 From: anthony at interlink.com.au (Anthony Baxter) Date: Thu, 30 Sep 2004 01:03:15 +1000 Subject: [Shtoom] regression on PowerPC In-Reply-To: <6F7B9B04-1214-11D9-8DF6-000A95E2A184@zooko.com> References: <6F7B9B04-1214-11D9-8DF6-000A95E2A184@zooko.com> Message-ID: <415ACEB3.9090302@interlink.com.au> I believe this is now fixed in SVN. Was an endianness problem in the test.