Hello list,
I am trying to understand why the thomson ST2030 hard phone does not work with my openser. I have noticed while ngreping that it seems to not respect the record-route header.
I have the following incoming invite:
U 2007/10/18 19:31:54.067545 xx.xx.33.119:5060 -> 10.0.0.136:15060 INVITE sip:1920@10.0.0.136:15060;user=phone SIP/2.0. Record-Route: sip:xx.xx.33.119:5060;nat=yes;lr=on. Via: SIP/2.0/UDP 192.168.5.119;branch=z9hG4bKae88.af6caa.0. Via: SIP/2.0/UDP 192.168.5.120:5060;branch=z9hG4bK58e93388;rport=5060. From: sip:6897@192.168.5.120;tag=as246d1f36. To: sip:1920@192.168.5.119.
And the phone answers to the IP of the first via instead of the one in record-route:
U 2007/10/18 19:31:54.083370 10.0.0.136:15060 -> 192.168.5.119:5060 SIP/2.0 100 Trying. Via: SIP/2.0/UDP 192.168.5.119;branch=z9hG4bKae88.af6caa.0. Via: SIP/2.0/UDP 192.168.5.120:5060;branch=z9hG4bK58e93388;rport=5060. From: sip:6897@192.168.5.120;tag=as246d1f36. To: sip:1920@192.168.5.119.
I would like to know the opinion of SIP gourous out there: is this rfc-compliant ? I don't have this issue with other phones so I am wondering if I should ask for a refund...
Thank you !
Hi Juha,
On 10/18/07, Juha Heinanen jh@tutpro.com wrote:
[...] replies always obey via headers. in-dialog requests should obey rr header.
Thank you for your answer. I am a bit confused as when I tested with other sip phones (sipura or some common soft phones), the reply come right back to the server:
U 2007/10/18 09:33:10.412644 192.168.5.119:5060 -> xx.xx.28.203:5060 INVITE sip:2031@192.168.0.6:5060 SIP/2.0. Record-Route: sip:xx.xx.33.119:5060;nat=yes;lr=on. Via: SIP/2.0/UDP 192.168.5.119;branch=z9hG4bKbb68.aef53616.1. Via: SIP/2.0/UDP 192.168.5.120:5060;branch=z9hG4bK06ffa32f;rport=5060. From: "2030" sip:2030@192.168.5.120;tag=as5d0ed162. To: sip:2031@192.168.5.119. Contact: sip:2030@192.168.5.120. Call-ID: 75284ea22077807748c712db79678f15@192.168.5.120. CSeq: 102 INVITE.
U 2007/10/18 09:33:10.478888 xx.xx.28.203:5060 -> 192.168.5.119:5060 SIP/2.0 100 Trying. To: sip:2031@192.168.5.119. From: "2030" sip:2030@192.168.5.120;tag=as5d0ed162. Call-ID: 75284ea22077807748c712db79678f15@192.168.5.120. CSeq: 102 INVITE. Via: SIP/2.0/UDP 192.168.5.119;branch=z9hG4bKbb68.aef53616.1. Via: SIP/2.0/UDP 192.168.5.120:5060;branch=z9hG4bK06ffa32f;rport=5060. Record-Route: sip:xx.xx.33.119:5060;nat=yes;lr=on. Server: Sipura/SPA941-4.1.8.
My openser have a private IP (192.168.5.119) statically natted to xx.xx.33.119; so the first via contains the private IP. Is it up to the client to figure out how to manage this or is there a way to handle this in openser ?
Thanks,
El Friday 19 October 2007 09:23:45 vallimamod abdullah escribió:
My openser have a private IP (192.168.5.119) statically natted to xx.xx.33.119; so the first via contains the private IP. Is it up to the client to figure out how to manage this or is there a way to handle this in openser ?
Look at the "Via" headres in both cases, they are the same.
You have an issue because NAT. The Thomson INVITE leaves OpenSer natted but the Via header added by OpenSer says "192.168.5.119". You should fix the Via header for messages that will be natted, but sincerely I don't know how.
AFAIK if not a very good idea (very complex) having OpenSer in a server doing NAT.