Hi bkw - We did that and it does indeed fix the issue. However, in the case that you have multiple SIP UA's behind a router there tend to be many dynamically generated ports in use. The obvious solution would be to statically map a port to an internal IP and then set the externip and localhost settings. I agree, this would work. Except if you are using a dsl or cable modem provider that also like to update your WAN ip on a regular basis. But what confuses me more is that all the sip messaging works fine right up until the ACK we send back to the 200 OK. Obviously FS is sending the ACK to the Contact field IP but is there a way in FS to tell it to just respond on the IP and port that the 200 OK came from? I thought that is what the force rport setting did but i guess it does not. David On Nov 4, 2008, at 10:32 AM, Brian West wrote:
You need to set localnet and externip or externhost on Asterisk so it doesn't lie about its IP.
/b
On Nov 4, 2008, at 11:10 AM, David Aldworth wrote:
For some reason when trunking with Asterisk PBX's (yes, I know) FS wants to send the ACK to the internal ip found in the Contact field of the 200 OK. We have the force rport setting on but it's still not responding to that IP. Register's work. Most of the sip signalling works, just when the customer specifies the Contact filed with an internal ip. Below is a packet capture and our external.xml conf file.
U 2008/11/04 09:17:08.259672 64.74.188.23:5060 -> 68.188.189.202:5060 INVITE sip:989607XXXX@68.188.189.202:5060 SIP/2.0. Via: SIP/2.0/UDP 64.74.188.23;rport;branch=z9hG4bKc6y6pr80HyeaN. Max-Forwards: 68. From: "user" <sip:303452XXXX@64.74.188.23>;tag=Dt6v81cDZXa3B. To: <sip:989607XXXX@68.188.189.202:5060>. Call-ID: de7c471c-252e-122c-3cba-5f1bac93b621. CSeq: 106789378 INVITE. Contact: <sip:mod_sofia@64.74.188.23:5060>. User-Agent: FreeSWITCH-mod_sofia/1.0.1-exported. Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, SUBSCRIBE, NOTIFY, REFER, UPDATE, REGISTER, INFO, PUBLISH. Supported: 100rel, timer, precondition, path, replaces. Allow-Events: talk, presence, dialog, call-info, sla, include- session- description, presence.winfo, message-summary. Min-SE: 120. Content-Type: application/sdp. Content-Disposition: session. Content-Length: 370.
U 2008/11/04 09:21:32.861720 68.188.189.202:5060 -> 64.74.188.23:5060 SIP/2.0 100 Trying. Via: SIP/2.0/UDP 64.74.188.23 ;branch=z9hG4bKZFem0FmX4g19H;received=64.74.188.23;rport=5060. From: "user" <sip:303452XXXX@64.74.188.23>;tag=4UF788r8ct8aD. To: <sip:989607XXXX@68.188.189.202:5060>. Call-ID: 7c2d8578-252f-122c-3cba-5f1bac93b621. CSeq: 106789510 INVITE. User-Agent: Asterisk PBX. Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY. Supported: replaces. Contact: <sip:989607XXXX@192.168.0.5>. Content-Length: 0. .
U 2008/11/04 09:21:32.861845 68.188.189.202:5060 -> 64.74.188.23:5060 SIP/2.0 200 OK. Via: SIP/2.0/UDP 64.74.188.23 ;branch=z9hG4bKZFem0FmX4g19H;received=64.74.188.23;rport=5060. From: "user" <sip:303452XXXX@64.74.188.23>;tag=4UF788r8ct8aD. To: <sip:989607XXXX@68.188.189.202:5060>;tag=as1da4b7aa. Call-ID: 7c2d8578-252f-122c-3cba-5f1bac93b621. CSeq: 106789510 INVITE. User-Agent: Asterisk PBX. Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY. Supported: replaces. Contact: <sip:989607XXXX@192.168.0.5>. Content-Type: application/sdp. Content-Length: 285. . v=0. o=root 10970 10970 IN IP4 192.168.0.5. s=session. c=IN IP4 192.168.0.5. t=0 0. m=audio 15876 RTP/AVP 18 0 101. a=rtpmap:18 G729/8000. a=fmtp:18 annexb=no. a=rtpmap:0 PCMU/8000. a=rtpmap:101 telephone-event/8000. a=fmtp:101 0-16. a=silenceSupp:off - - - -. a=ptime:20. a=sendrecv.
U 2008/11/04 09:21:32.862573 64.74.188.23:5060 -> 192.168.0.5:5060 ACK sip:989607XXXX@192.168.0.5 SIP/2.0. Via: SIP/2.0/UDP 64.74.188.23;rport;branch=z9hG4bK0r7c2a501SQvD. Max-Forwards: 70. From: "user" <sip:303452XXXX@64.74.188.23>;tag=4UF788r8ct8aD. To: <sip:989607XXXX@68.188.189.202:5060>;tag=as1da4b7aa. Call-ID: 7c2d8578-252f-122c-3cba-5f1bac93b621. CSeq: 106789510 ACK. Contact: <sip:mod_sofia@64.74.188.23:5060>. Content-Length: 0. .
external.xml
<settings> <param name="debug" value="0"/> <param name="sip-trace" value="no"/> <param name="rfc2833-pt" value="101"/> <param name="sip-port" value="5060"/> <param name="dialplan" value="XML"/> <param name="context" value="public"/> <param name="dtmf-duration" value="100"/> <param name="codec-prefs" value="$${outbound_codec_prefs}"/> <param name="hold-music" value="$${hold_music}"/> <param name="use-rtp-timer" value="true"/> <param name="rtp-timer-name" value="soft"/> <param name="multiple-registrations" value="true"/> <param name="manage-presence" value="true"/> <param name="aggressive-nat-detection" value="true"/> <param name="NDLB-force-rport" value="true"/> <param name="inbound-codec-negotiation" value="generous"/> <param name="nonce-ttl" value="60"/> <param name="auth-calls" value="true"/> <param name="rtp-timeout-sec" value="1800"/> <param name="rtp-ip" value="$${local_ip_v4}"/> <param name="sip-ip" value="$${local_ip_v4}"/> <param name="ext-rtp-ip" value="$${external_rtp_ip}"/> <param name="ext-sip-ip" value="$${external_sip_ip}"/> <param name="rtp-timeout-sec" value="300"/> <param name="rtp-hold-timeout-sec" value="1800"/> </settings>
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org