maemo.org Bugzilla – Bug 2446
SIP calls/invites with camera active fails to respond to proxy auth request
Last modified: 2008-02-12 13:33:56 UTC
You need to log in before you can comment on or make changes to this bug.
BACKGROUND: I'm using OS2008 beta on an N800 with an Asterisk server, attempting to get g729/h263 video calls to work reliably with a PC client (Eyebeam). I'm almost there! However, I've hit a couple snags, one of which *appears* to be rtcomm's fault. STEPS TO REPRODUCE THE PROBLEM: Initiate a SIP video/audio call *from* the N800 *with* the camera active (extended). EXPECTED OUTCOME: SIP invite should be issued, followed by (if requested) an invite with proxy authentication, resulting in successful call initiation. ACTUAL OUTCOME: Only the initial SIP invite is issued if the camera is active. If proxy authentication is requested, a followup invite is never sent. This results in an failed call attempt and even seems to unregister the N800 from the SIP server quite often. If the camera is *not* active/extended (i.e. audio only call) and the call is initiated from the N800 then a second invite *is* sent with proxy authentication as requested and works successfully. I'm attaching the SIP dialog to the end at the end here in both cases. REPRODUCIBILITY: Always ========================================= SIP dialog WITH camera extended (failure) ========================================= <--- SIP read from 205.118.58.12:64459 ---> INVITE sip:9000@voip.ourdomain.com;user=phone SIP/2.0 Via: SIP/2.0/UDP 192.168.2.40:49477;rport;branch=z9hG4bKmj395ZHNmtjtc Max-Forwards: 70 From: <sip:testuser-mobile@voip.ourdomain.com>;tag=KZ5y7Npg737eS To: <sip:9000@voip.ourdomain.com;user=phone> Call-ID: 406edacd-1a15-122b-c2bd-00194fd4fcce CSeq: 92105396 INVITE Contact: <sip:testuser-mobile@205.118.58.12:64459;transport=udp> User-Agent: Telepathy-SofiaSIP/0.4.1 sofia-sip/1.12.6work Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, UPDATE Supported: timer, 100rel Min-SE: 120 Content-Type: application/sdp Content-Disposition: session Content-Length: 511 v=0 o=- 3742772521436150005 4846668765947960776 IN IP4 192.168.2.40 s=- t=0 0 m=audio 7078 RTP/AVP 96 18 8 0 13 97 c=IN IP4 192.168.2.40 b=RS:0 b=RR:0 a=rtpmap:96 iLBC/8000 a=fmtp:96 mode=30 a=rtpmap:18 G729/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:13 CN/8000 a=rtpmap:97 telephone-event/8000 m=video 9078 RTP/AVP 34 96 97 c=IN IP4 192.168.2.40 b=RS:0 b=RR:0 a=rtpmap:34 H263/90000 a=fmtp:34 QCIF=2 a=rtpmap:96 H263-1998/90000 a=fmtp:96 QCIF=2 a=rtpmap:97 H263-N800/90000 <-------------> --- (15 headers 24 lines) --- Sending to 205.118.58.12 : 64459 (NAT) Using INVITE request as basis request - 406edacd-1a15-122b-c2bd-00194fd4fcce www*CLI> <--- Reliably Transmitting (NAT) to 205.118.58.12:64459 ---> SIP/2.0 407 Proxy Authentication Required Via: SIP/2.0/UDP 192.168.2.40:49477;branch=z9hG4bKmj395ZHNmtjtc;received=205.118.58.12;rport=64459 From: <sip:testuser-mobile@voip.ourdomain.com>;tag=KZ5y7Npg737eS To: <sip:9000@voip.ourdomain.com;user=phone>;tag=as6df958e8 Call-ID: 406edacd-1a15-122b-c2bd-00194fd4fcce CSeq: 92105396 INVITE User-Agent: Asterisk PBX Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Proxy-Authenticate: Digest algorithm=MD5, realm="voip.ourdomain.com", nonce="5a1393af" Content-Length: 0 <------------> Scheduling destruction of SIP dialog '406edacd-1a15-122b-c2bd-00194fd4fcce' in 32000 ms (Method: INVITE) Found user 'testuser-mobile' www*CLI> <--- SIP read from 205.118.58.12:64459 ---> ACK sip:9000@voip.ourdomain.com;user=phone SIP/2.0 Via: SIP/2.0/UDP 192.168.2.40:49477;rport;branch=z9hG4bKmj395ZHNmtjtc Max-Forwards: 70 From: <sip:testuser-mobile@voip.ourdomain.com>;tag=KZ5y7Npg737eS To: <sip:9000@voip.ourdomain.com;user=phone>;tag=as6df958e8 Call-ID: 406edacd-1a15-122b-c2bd-00194fd4fcce CSeq: 92105396 ACK Content-Length: 0 <-------------> --- (8 headers 0 lines) --- No further communication until the connection times out or the N800 become unregistered..... ============================================ SIP dialog WITH OUT camera extended (success) ============================================ <--- SIP read from 205.118.58.12:64453 ---> INVITE sip:9000@voip.ourdomain.com;user=phone SIP/2.0 Via: SIP/2.0/UDP 192.168.2.40:49479;rport;branch=z9hG4bKjva1568ZUeUrQ Max-Forwards: 70 From: <sip:testuser-mobile@voip.ourdomain.com>;tag=UcpZK4Np1ZNDS To: <sip:9000@voip.ourdomain.com;user=phone> Call-ID: 7b8f4631-1a17-122b-1aa0-00194fd4fcce CSeq: 92105875 INVITE Contact: <sip:testuser-mobile@205.118.58.12:64453;transport=udp> User-Agent: Telepathy-SofiaSIP/0.4.1 sofia-sip/1.12.6work Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, UPDATE Supported: timer, 100rel Min-SE: 120 Content-Type: application/sdp Content-Disposition: session Content-Length: 323 v=0 o=- 7161779339802057598 7813639004219236037 IN IP4 192.168.2.40 s=- t=0 0 m=audio 7078 RTP/AVP 96 18 8 0 13 97 c=IN IP4 192.168.2.40 b=RS:0 b=RR:0 a=rtpmap:96 iLBC/8000 a=fmtp:96 mode=30 a=rtpmap:18 G729/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:13 CN/8000 a=rtpmap:97 telephone-event/8000 <-------------> --- (15 headers 15 lines) --- Sending to 205.118.58.12 : 64453 (NAT) Using INVITE request as basis request - 7b8f4631-1a17-122b-1aa0-00194fd4fcce www*CLI> <--- Reliably Transmitting (NAT) to 205.118.58.12:64453 ---> SIP/2.0 407 Proxy Authentication Required Via: SIP/2.0/UDP 192.168.2.40:49479;branch=z9hG4bKjva1568ZUeUrQ;received=205.118.58.12;rport=64453 From: <sip:testuser-mobile@voip.ourdomain.com>;tag=UcpZK4Np1ZNDS To: <sip:9000@voip.ourdomain.com;user=phone>;tag=as64577a7c Call-ID: 7b8f4631-1a17-122b-1aa0-00194fd4fcce CSeq: 92105875 INVITE User-Agent: Asterisk PBX Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Proxy-Authenticate: Digest algorithm=MD5, realm="voip.ourdomain.com", nonce="7b7b56d7" Content-Length: 0 <------------> Scheduling destruction of SIP dialog '7b8f4631-1a17-122b-1aa0-00194fd4fcce' in 32000 ms (Method: INVITE) Found user 'testuser-mobile' www*CLI> <--- SIP read from 205.118.58.12:64453 ---> ACK sip:9000@voip.ourdomain.com;user=phone SIP/2.0 Via: SIP/2.0/UDP 192.168.2.40:49479;rport;branch=z9hG4bKjva1568ZUeUrQ Max-Forwards: 70 From: <sip:testuser-mobile@voip.ourdomain.com>;tag=UcpZK4Np1ZNDS To: <sip:9000@voip.ourdomain.com;user=phone>;tag=as64577a7c Call-ID: 7b8f4631-1a17-122b-1aa0-00194fd4fcce CSeq: 92105875 ACK Content-Length: 0 <-------------> --- (8 headers 0 lines) --- www*CLI> <--- SIP read from 205.118.58.12:64453 ---> INVITE sip:9000@voip.ourdomain.com;user=phone SIP/2.0 Via: SIP/2.0/UDP 192.168.2.40:49479;rport;branch=z9hG4bKK53S71S3rQHBK Max-Forwards: 70 From: <sip:testuser-mobile@voip.ourdomain.com>;tag=UcpZK4Np1ZNDS To: <sip:9000@voip.ourdomain.com;user=phone> Call-ID: 7b8f4631-1a17-122b-1aa0-00194fd4fcce CSeq: 92105876 INVITE Contact: <sip:testuser-mobile@205.118.58.12:64453;transport=udp> User-Agent: Telepathy-SofiaSIP/0.4.1 sofia-sip/1.12.6work Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, UPDATE Supported: timer, 100rel Proxy-Authorization: Digest username="testuser-mobile", realm="voip.ourdomain.com", nonce="7b7b56d7", algorithm=MD5, uri="sip:9000@voip.ourdomain.com;user=phone", response="b0a7f6ae48df161cf90e9344fcd70875" Min-SE: 120 Content-Type: application/sdp Content-Disposition: session Content-Length: 323 v=0 o=- 7161779339802057598 7813639004219236037 IN IP4 192.168.2.40 s=- t=0 0 m=audio 7078 RTP/AVP 96 18 8 0 13 97 c=IN IP4 192.168.2.40 b=RS:0I> b=RR:0 a=rtpmap:96 iLBC/8000 a=fmtp:96 mode=30 a=rtpmap:18 G729/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:13 CN/8000 a=rtpmap:97 telephone-event/8000 <-------------> --- (16 headers 15 lines) --- Sending to 205.118.58.12 : 64453 (NAT) Using INVITE request as basis request - 7b8f4631-1a17-122b-1aa0-00194fd4fcce Found user 'testuser-mobile' Found RTP audio format 96 Dynamic payload. Found RTP audio format 18 Found RTP audio format 8 Found RTP audio format 0 Found RTP audio format 13 Found RTP audio format 97 Dynamic payload. Peer audio RTP is at port 192.168.2.40:7078 Found description format iLBC for ID 96 Found description format G729 for ID 18 Found description format PCMA for ID 8 Found description format PCMU for ID 0 Found description format CN for ID 13 Found description format telephone-event for ID 97 Capabilities: us - 0x80100 (g729|h263), peer - audio=0x50c (ulaw|alaw|g729|ilbc)/video=0x0 (nothing)/text=0x0 (nothing), combined - 0x100 (g729) Non-codec capabilities (dtmf): us - 0x1 (telephone-event), peer - 0x3 (telephone-event|CN), combined - 0x1 (telephone-event) Peer audio RTP is at port 192.168.2.40:7078 Looking for 9000 in pedoodles-dialplan (domain voip.ourdomain.com) list_route: hop: <sip:testuser-mobile@205.118.58.12:64453;transport=udp> <--- Transmitting (NAT) to 205.118.58.12:64453 ---> SIP/2.0 100 Trying Via: SIP/2.0/UDP 192.168.2.40:49479;branch=z9hG4bKK53S71S3rQHBK;received=205.118.58.12;rport=64453 From: <sip:testuser-mobile@voip.ourdomain.com>;tag=UcpZK4Np1ZNDS To: <sip:9000@voip.ourdomain.com;user=phone> Call-ID: 7b8f4631-1a17-122b-1aa0-00194fd4fcce CSeq: 92105876 INVITE User-Agent: Asterisk PBX Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Contact: <sip:9000@70.85.40.228> Content-Length: 0 <------------> -- Executing [9000@pedoodles-dialplan:1] Dial("SIP/testuser-mobile-0a0f3708", "SIP/testuser||Tt") in new stack -- Called testuser -- SIP/testuser-0a0fa868 is ringing www*CLI> <--- Transmitting (NAT) to 205.118.58.12:64453 ---> SIP/2.0 180 Ringing Via: SIP/2.0/UDP 192.168.2.40:49479;branch=z9hG4bKK53S71S3rQHBK;received=205.118.58.12;rport=64453 From: <sip:testuser-mobile@voip.ourdomain.com>;tag=UcpZK4Np1ZNDS To: <sip:9000@voip.ourdomain.com;user=phone>;tag=as16c7f9f6 Call-ID: 7b8f4631-1a17-122b-1aa0-00194fd4fcce CSeq: 92105876 INVITE User-Agent: Asterisk PBX Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces Contact: <sip:9000@70.85.40.228> Content-Length: 0 <------------>
Sorry, I would have made the traces attachements but didn't see that option when creating the bug report initially. :/
This looks vaguely familiar... Try to set transport to UDP (or TCP, if the proxy has it) in advanced settings of the SIP account.
Sorry, I should have mentioned, I do have things set via UDP (rather then auto or TCP. I don't believe Asterisk has TCP support but I haven't checked lately. If it does I'll give that a shot. I'm starting to think it's somehow connected to IP addressing and NAT. I'm not sure what happens behind the scenes, but my posted tests were to directly connected public server (no NAT) from an N800 behind a router (with NAT). Audio only calls that originate from the N800 send both invites and connect. If the camera is out and the same call is placed only the first invite is received. However, if the N800 is directly connected (no NAT) and the camera is out then both invites are received. I believe I have everything propertly configured for NAT usage and can post my configuration if that might help. I guess I would expect the audio only calls to behave the same if I didn't. Let me know if there is anything else you'd like to see/try.
The best course of action is actually to wait for the OS2008 release, due out soon, and retry with that. The last pre-OS2008 beta update is quite old, we've made a lot of bugfixes since.
Will do... Thanks!
This should have been fixed by IT OS 2008 release 2.2007.50-2 or later.