It would appear that SER v0.8.12 is performing URI matching against the INVITE line rather than the To: header. This appears to cause problems with Snom phones. Below is the initial INVITE request sent by a Snom 200:
INVITE sip:172.21.30.53 SIP/2.0..Via: SIP/2.0/UDP 172.21.20.89:5060;branch= z9hG4bK-d4iq2xxwsyff..Route: sip:5803932@172.21.30.53;user=phone..From: " xxxxxx" sip:IC89@172.21.30.53;tag=tf5tyz77r1..To: <sip:5803932@172.21.30. 53;user=phone>..Call-ID: 3c267820f20d-hj2ilvrq6eoj@172-21-20-89..CSeq: 1 IN VITE..Max-Forwards: 70..Contact: sip:IC89@172.21.20.89:5060;line=1..User- Agent: snom200-2.02t..Accept-Language: en..Accept: application/sdp..Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, NOTIFY, SUBSCRIBE, PRACK, MESSAGE , INFO..Supported: timer, 100rel, replaces..Session-Expires: 7200..Content- Type: application/sdp..Content-Length: 270....v=0..o=root 9679 9679 IN IP4 172.21.20.89..s=SIP Call..c=IN IP4 172.21.20.89..t=0 0..m=audio 10010 RTP/A VP 0 8 3 18 97..a=rtpmap:0 pcmu/8000..a=rtpmap:8 pcma/8000..a=rtpmap:3 gsm/ 8000..a=rtpmap:18 g729/8000..a=rtpmap:97 telephone-event/8000..a=fmtp:97 0- 15..a=sendrecv..
The SER configuration has the following directive:
if (uri=~"^sip:580[0-9][0-9][0-9][0-9]@") { log(1, "Local call sent to gateway"); rewritehost("172.21.30.51"); t_relay(); break; };
This fails to match the above request even though the To: header in the above request contains the necessary pattern. This same configuration works fine with a Cisco phone, but it's INVITE request contains the a complete URI:
INVITE sip:5803932@172.21.30.51 SIP/2.0..Max-Forwards: 10..Record-Route: <s ip:5803932@172.21.30.53;ftag=f2be0b0014cdf23a7f153-5b3b8b0b;lr=on>..Via: SI P/2.0/UDP 172.21.30.53;branch=z9hG4bK72cc.024d7ee4.0..Via: SIP/2.0/UDP 172. 21.20.225:5060..From: "IC225" sip:IC225@172.21.30.53;tag=f2be0b0014cdf23a 7f153-5b3b8b0b..To: sip:5803932@172.21.30.53..Call-ID: 000bbef2-df4c0003- 6004eb37-6333d578@172.21.20.225..Date: Thu, 04 Dec 2003 20:42:51 GMT..CSeq: 101 INVITE..Expires: 180..User-Agent: Cisco-SIP-IP-Phone/2..Accept: applic ation/sdp..Contact: sip:IC225@172.21.20.225:5060..Content-Type: application /sdp..Content-Length: 222....v=0..o=CiscoSystemsSIP-IPPhone-UserAgent 8030 16590 IN IP4 172.21.20.225..s=SIP Call..c=IN IP4 172.21.20.225..t=0 0..m=au dio 26274 RTP/AVP 0 8 18 96..a=rtpmap:0 pcmu/8000..a=rtpmap:96 telephone-ev ent/8000..a=fmtp:96 0-11..
Is there anything I can change in the ser.cfg to instruct SER to match against the To: header?