-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi Folks,
Recently I started to use consume_credentials() function in my SER 0.8.14 and some troubles appeared. One of some carriers that I send calls through started to reject calls routed from my SER box with:
SIP/2.0 400 Transaction tuple incomplete (9/SL)
The carrier said that my SER box is sending an invalid SIP Header. I did some dumps of calls from my SER box and I realise that there is an invalid SIP header as the carrier said, follow the dumps:
x.x.x.x:5060 - my SER box y.y.y.y:5060 - carrier z.z.z.z:41593 - UA (GS BT100)
x.x.x.x:5060 -> y.y.y.y:5060 INVITE sip:00000000000000@y.y.y.y:5060 SIP/2.0. Record-Route: sip:0000000000000@x.x.x.x;ftag=8c7829c492ab97d9;lr=on. Via: SIP/2.0/UDP x.x.x.x;branch=z9hG4bK151b.f401ac77.0. Via: SIP/2.0/UDP z.z.z.z:41593;branch=z9hG4bK0d356ccd0e9fab1d. From: "Client 1" sip:1005@mysipdomain;tag=8c7829c492ab97d9. To: sip:000000000000@mysipdomain. Contact: sip:1005@z.z.z.z:41593. Supported: replaces. sip:000000000000@mysipdomain", nonce="42cc468e4ddef88bad480d1a5dfbd8bf87c03f23", response="0a5825c4e4bf2bb43 e2a0ba850ba32b1".Call-ID: cff0854b39f5c97e@z.z.z.z. CSeq: 59598 INVITE. User-Agent: Grandstream BT100 1.0.5.22. Max-Forwards: 69. Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE. Content-Type: application/sdp. Content-Length: 388
As you can see the line after "Supported: replaces." does not start with a "capital letter" as RFC3261 recommend. After remove "consume_credentials()" function the result is:
x.x.x.x:5060 -> y.y.y.y:5060 INVITE sip:0000000000000@y.y.y.y:5060 SIP/2.0. Record-Route: sip:000000000000@x.x.x.x;ftag=21cb576a18f9628d;lr=on. Via: SIP/2.0/UDP x.x.x.x;branch=z9hG4bK41cb.cc6503a1.0. Via: SIP/2.0/UDP z.z.z.z:41593;branch=z9hG4bKa5afc4c7b13b4943. From: "Client 1" sip:1005@mysipdomain;tag=21cb576a18f9628d. To: sip:000000000000@mysipdomain. Contact: sip:1005@z.z.z.z:41593. Supported: replaces. Proxy-Authorization: DIGEST username="1005", realm="mysipdomain", algorithm=MD5, uri="sip:00000000000@mysip domain", nonce="42cc41d72f6d20a05439f0f1ae8c4159b1c4bc3c", response="c111d28d54df340dabd44865f3815966". Call-ID: a059b6a913ffa488@z.z.z.z. CSeq: 48239 INVITE. User-Agent: Grandstream BT100 1.0.5.22. Max-Forwards: 69. Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE. Content-Type: application/sdp. Content-Length: 388
and the carrier accept the call as expected. So I think the "consume_credentials()" function does not RFC3261 compliance. Maybe its a BUG and an uri subst function works better.
regards. - -- ============================================ Rodrigo P. Telles telles@devel.it TI Manager Devel-IT - http://www.devel.it IVOZ # 1029 +55 14 3324-1200 Bestcom Group ============================================