Yes, when i use UDP, SER sets the request-uri properly it seems (or i don't know, maybe RTC does something that causes SER to recognize the correct address). And still yes, UDP uses record_route. I've tried removing record route and hence putting the two UAs in peer-to-peer session.....and TCP did work fine this way.
But still, i have no idea why it shouldn't work with record_route (TCP) while it does so with UDP. >_<;;
Here's another sample SIP Message capture, this time showing the UDP packets.
First, the UA that initiated the call sends a message _______________________________________________________
# U 192.168.10.42:4461 -> 192.168.10.38:5060 MESSAGE sip:jon@gandalf.hq1.astra.ph SIP/2.0..Via: SIP/2.0/UDP 192.168.10.42:16054..Max-Forwards: 70..From: "adrian" sip:adrian@gandalf.hq1.astra.ph;tag=ce10eb946c934f1f9c14812bd35adfa9;epid=90fbe8b22b..To: sip:jon@gandalf.hq1.astra.ph. .Call-ID: bf67cf236e954ebda981f07d8f28b7dd@192.168.10.42..CSeq: 1 MESSAGE..Contact: sip:192.168.10.42:16054..User-Agen t: RTC/1.2..Content-Type: text/enriched; charset=UTF-8..Content-Length: 227...."My Message Here" # U 192.168.10.38:5060 -> 192.168.10.27:14412 MESSAGE sip:192.168.10.27:14412 SIP/2.0..Record-Route: <sip:jon@192.168.10.38;ftag=ce10eb946c934f1f9c14812bd35adfa9;lr=o n>..Via: SIP/2.0/UDP 192.168.10.38;branch=z9hG4bKbaba.47427281.0..Via: SIP/2.0/UDP 192.168.10.42:16054..Max-Forwards: 69 ..From: "adrian" sip:adrian@gandalf.hq1.astra.ph;tag=ce10eb946c934f1f9c14812bd35adfa9;epid=90fbe8b22b..To: <sip:jon@ga ndalf.hq1.astra.ph>..Call-ID: bf67cf236e954ebda981f07d8f28b7dd@192.168.10.42..CSeq: 1 MESSAGE..Contact: <sip:192.168.10. 42:16054>..User-Agent: RTC/1.2..Content-Type: text/enriched; charset=UTF-8..Content-Length: 227...."Message Here" # U 192.168.10.27:4671 -> 192.168.10.38:5060 SIP/2.0 100 Trying..Via: SIP/2.0/UDP 192.168.10.38;branch=z9hG4bKbaba.47427281.0..Via: SIP/2.0/UDP 192.168.10.42:16054.. From: "adrian" sip:adrian@gandalf.hq1.astra.ph;tag=ce10eb946c934f1f9c14812bd35adfa9;epid=90fbe8b22b..To: <sip:jon@gand alf.hq1.astra.ph>;tag=805b3c1efca340598f2b00bf297b58dd..Call-ID: bf67cf236e954ebda981f07d8f28b7dd@192.168.10.42..CSeq: 1 MESSAGE..User-Agent: RTC/1.2..Content-Length: 0.... # U 192.168.10.27:4671 -> 192.168.10.38:5060 SIP/2.0 200 OK..Via: SIP/2.0/UDP 192.168.10.38;branch=z9hG4bKbaba.47427281.0..Via: SIP/2.0/UDP 192.168.10.42:16054..From : "adrian" sip:adrian@gandalf.hq1.astra.ph;tag=ce10eb946c934f1f9c14812bd35adfa9;epid=90fbe8b22b..To: <sip:jon@gandalf. hq1.astra.ph>;tag=805b3c1efca340598f2b00bf297b58dd..Call-ID: bf67cf236e954ebda981f07d8f28b7dd@192.168.10.42..CSeq: 1 MES SAGE..Record-Route: sip:jon@192.168.10.38;ftag=ce10eb946c934f1f9c14812bd35adfa9;lr=on..Contact: <sip:192.168.10.27:144 12>..User-Agent: RTC/1.2..Content-Length: 0.... # U 192.168.10.38:5060 -> 192.168.10.42:16054 SIP/2.0 200 OK..Via: SIP/2.0/UDP 192.168.10.42:16054..From: "adrian" sip:adrian@gandalf.hq1.astra.ph;tag=ce10eb946c934 f1f9c14812bd35adfa9;epid=90fbe8b22b..To: sip:jon@gandalf.hq1.astra.ph;tag=805b3c1efca340598f2b00bf297b58dd..Call-ID: b f67cf236e954ebda981f07d8f28b7dd@192.168.10.42..CSeq: 1 MESSAGE..Record-Route: <sip:jon@192.168.10.38;ftag=ce10eb946c934f 1f9c14812bd35adfa9;lr=on>..Contact: sip:192.168.10.27:14412..User-Agent: RTC/1.2..Content-Length: 0.... # _______________________________________________________
This one is the SIP messages from the other UA replying to the caller _______________________________________________________
U 192.168.10.27:4671 -> 192.168.10.38:5060 MESSAGE sip:jon@192.168.10.38;ftag=ce10eb946c934f1f9c14812bd35adfa9;lr=on SIP/2.0..Via: SIP/2.0/UDP 192.168.10.27:14412. .Max-Forwards: 70..From: sip:jon@gandalf.hq1.astra.ph;tag=805b3c1efca340598f2b00bf297b58dd..To: "adrian" <sip:adrian@g andalf.hq1.astra.ph>;tag=ce10eb946c934f1f9c14812bd35adfa9;epid=90fbe8b22b..Call-ID: bf67cf236e954ebda981f07d8f28b7dd@192 .168.10.42..CSeq: 1 MESSAGE..Route: sip:192.168.10.42:16054..Contact: sip:192.168.10.27:14412..User-Agent: RTC/1.2.. Content-Type: text/enriched; charset=UTF-8..Content-Length: 258...."Message here"
# U 192.168.10.38:5060 -> 192.168.10.42:16054 MESSAGE sip:192.168.10.42:16054 SIP/2.0..Record-Route: <sip:jon@192.168.10.38;ftag=805b3c1efca340598f2b00bf297b58dd;lr=o n>..Via: SIP/2.0/UDP 192.168.10.38;branch=z9hG4bKbaba.57427281.0..Via: SIP/2.0/UDP 192.168.10.27:14412..Max-Forwards: 69 ..From: sip:jon@gandalf.hq1.astra.ph;tag=805b3c1efca340598f2b00bf297b58dd..To: "adrian" <sip:adrian@gandalf.hq1.astra. ph>;tag=ce10eb946c934f1f9c14812bd35adfa9;epid=90fbe8b22b..Call-ID: bf67cf236e954ebda981f07d8f28b7dd@192.168.10.42..CSeq: 1 MESSAGE..Contact: sip:192.168.10.27:14412..User-Agent: RTC/1.2..Content-Type: text/enriched; charset=UTF-8..Content -Length: 258...."Message Here"
# U 192.168.10.42:4461 -> 192.168.10.38:5060 SIP/2.0 200 OK..Via: SIP/2.0/UDP 192.168.10.38;branch=z9hG4bKbaba.57427281.0..Via: SIP/2.0/UDP 192.168.10.27:14412..From : sip:jon@gandalf.hq1.astra.ph;tag=805b3c1efca340598f2b00bf297b58dd..To: "adrian" sip:adrian@gandalf.hq1.astra.ph;ta g=ce10eb946c934f1f9c14812bd35adfa9;epid=90fbe8b22b..Call-ID: bf67cf236e954ebda981f07d8f28b7dd@192.168.10.42..CSeq: 1 MES SAGE..Contact: sip:192.168.10.42:16054..User-Agent: RTC/1.2..Content-Length: 0.... # U 192.168.10.38:5060 -> 192.168.10.27:14412 SIP/2.0 200 OK..Via: SIP/2.0/UDP 192.168.10.27:14412..From: sip:jon@gandalf.hq1.astra.ph;tag=805b3c1efca340598f2b00bf2 97b58dd..To: "adrian" sip:adrian@gandalf.hq1.astra.ph;tag=ce10eb946c934f1f9c14812bd35adfa9;epid=90fbe8b22b..Call-ID: b f67cf236e954ebda981f07d8f28b7dd@192.168.10.42..CSeq: 1 MESSAGE..Contact: sip:192.168.10.42:16054..User-Agent: RTC/1.2. .Content-Length: 0....
____________________________________________________
Let me know if you'd find something else about the TCP bug using record_route. ^_^
Id really appreciate it. i'll see what i can do about the checking module in rr.so but Im not sure my C skills are up to the task of touching SER's modules, it's been many years since i last programmed in C. ^_^;;
Thanks for the bits of information and help you gave. It made the issue clearer.
- Jonathan -