[Freeswitch-users] 300 Multiple Choices - how to force FS to replace From field
Brian West
brian at freeswitch.org
Thu May 4 02:20:40 MSD 2017
Why are you using the from field for authentication?
On Wed, May 3, 2017 at 12:42 PM, Lyubo Popov <koki.roul at gmail.com> wrote:
> Hello everyone,
>
> I would like to express my thanks in advance to anyone who may be able to
> help me with some insides.
>
> I am using a routing software with SIP Redirect to send routes to FS with
> 300 Multiple Choices and mod_xml_radius to authenticate the SIP users. In
> the Sip redirect server I am manipulating as well the FROM number and
> sending back to FS, but FS will not respect this and continue using the SIP
> account that sent the call in the first place in the FROM field. Here are
> some SIP packets from both sides to clarify the whole process.
>
> 1. Sending call to FS with Zoiper, destination 556230951662
>
> INVITE sip:556230951662 at 216.x.x.x:5080;transport=UDP SIP/2.0
> Via: SIP/2.0/UDP 177.x.x.x:1048;branch=z9hG4bK-
> d8754z-038f1c7d251308c2-1---d8754z-;rport
> Max-Forwards: 70
> Contact: <sip:551000 at 177.41.146.98:1048;transport=UDP>
> To: <sip:556230951662 at 216.x.x.x:5080;transport=UDP>
> From: "551000"<sip:551000 at 216.x.x.x:5080;transport=UDP>;tag=25599d20
> Call-ID: NmUzYTAwNmQ1NTZjMDM2ZjVhYTgzMDdiY2RiMmI0ZTc.
> CSeq: 1 INVITE
> Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, MESSAGE, OPTIONS, INFO,
> SUBSCRIBE
> Content-Type: application/sdp
> Supported: replaces, norefersub, extended-refer, timer,
> X-cisco-serviceuri
> User-Agent: Zoiper for Windows 2.43 r24984
> Allow-Events: presence, kpml
> Content-Length: 232
>
> v=0
> o=Zoiper_user 0 0 IN IP4 177.x.x.x
> s=Zoiper_session
> c=IN IP4 177.x.x.x
> t=0 0
> m=audio 8000 RTP/AVP 8 0 101
> a=rtpmap:8 PCMA/8000
> a=rtpmap:0 PCMU/8000
> a=rtpmap:101 telephone-event/8000
> a=fmtp:101 0-15
> a=sendrecv
>
>
> 2. FS sending INVITE to SIP Redirect server
>
> INVITE sip:556230951662 at 69.x.x.x:5060 SIP/2.0
> Via: SIP/2.0/UDP 216.245.218.230;rport;branch=z9hG4bKateZg87rDBpZa
> Max-Forwards: 69
> From: "551000" <sip:551000 at 177.x.x.x>;tag=FeNXS71300N0c
> To: <sip:556230951662 at 69.x.x.x:5060>
> Call-ID: e70ee145-aac6-1235-79ba-002590a0ec9b
> CSeq: 106579790 INVITE
> Contact: <sip:mod_sofia at 216.x.x.x:5060>
> User-Agent: FreeSWITCH
> Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE,
> REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
> Supported: timer, path, replaces
> Allow-Events: talk, hold, conference, presence, as-feature-event,
> dialog, line-seize, call-info, sla, include-session-description,
> presence.winfo, message-summary, refer
> Content-Type: application/sdp
> Content-Disposition: session
> Content-Length: 397
> X-FS-Support: update_display,send_info
> Remote-Party-ID: "551000" <sip:551000 at 216.x.x.x>;party=
> calling;screen=yes;privacy=off
>
> v=0
> o=FreeSWITCH 1493809233 1493809234 IN IP4 216.x.x.x
> 2017-05-03 12:15:09.816119 [ERR] mod_xml_radius.c:911 Didn't match:
> 69.x.x.x:5060 == ^69\.x\.x\.x
> s=FreeSWITCH
> c=IN IP4 216.x.x.x
> t=0 0
> m=audio 22476 RTP/AVP 8 0 18 101 13
> a=rtpmap:8 PCMA/8000
> a=rtpmap:0 PCMU/8000
> a=rtpmap:18 G729/8000
> a=rtpmap:101 telephone-event/8000
> a=fmtp:101 0-16
> a=ptime:20
> m=audio 22476 RTP/AVP 4 101 13
> a=rtpmap:4 G723/8000
> a=rtpmap:101 telephone-event/8000
> a=fmtp:101 0-16
> a=ptime:30
>
>
> 3. SIP Redirect returns 300 Multiple choices with the termination IP in
> Contact and with FROM field as instructed ( update 551000 with 1140031556)
>
> SIP/2.0 300 Multiple Choices
> Via: SIP/2.0/UDP 216.x.x.x;rport;branch=z9hG4bKateZg87rDBpZa
> From: "1140031556" <sip:1140031556 at 177.x.x.x>;tag=FeNXS71300N0c
> To: <sip:556230951662 at 69.x.x.x:5060>
> Contact: <sip:556230951662 at 162.x.x.x:5060>;q=1.00
> Call-ID: e70ee145-aac6-1235-79ba-002590a0ec9b
> CSeq: 106579790 INVITE
> Max-Forwards: 69
> Content-Length: 0
> Server: SIP Redirect Server
>
>
> 4. FS will send the call to the Termination IP WITHOUT changing the FROM
> field
>
> INVITE sip:556230951662 at 162.x.x.x:5060 SIP/2.0
> Via: SIP/2.0/UDP 216.x.x.x;rport;branch=z9hG4bKB37Qj3rvamcjp
> Max-Forwards: 68
> From: "551000" <sip:551000 at 216.x.x.x>;tag=gQepU2j7X9BKr
> To: <sip:556230951662 at 162.x.x.x:5060>
> Call-ID: e7159715-aac6-1235-79ba-002590a0ec9b
> CSeq: 106579790 INVITE
> Contact: <sip:mod_sofia at 216.x.x.x:5060>
> 2017-05-03 12:15:09.856127 [ERR] mod_xml_radius.c:914 Result of true
> match: 162.x.x.x:5060 == ^69\.x\.x\.x
> User-Agent: FreeSWITCH
> Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE,
> REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
> Supported: timer, path, replaces
> Allow-Events: talk, hold, conference, presence, as-feature-event,
> dialog, line-seize, call-info, sla, include-session-description,
> presence.winfo, message-summary, refer
> Content-Type: application/sdp
> Content-Disposition: session
> Content-Length: 397
> X-FS-Support: update_display,send_info
> Remote-Party-ID: "551000" <sip:551000 at 216.x.x.x>;party=
> calling;screen=yes;privacy=off
>
> v=0
> o=FreeSWITCH 1493811013 1493811014 IN IP4 216.x.x.x
> s=FreeSWITCH
> c=IN IP4 216.x.x.x
> t=0 0
> m=audio 20696 RTP/AVP 8 0 18 101 13
> a=rtpmap:8 PCMA/8000
> a=rtpmap:0 PCMU/8000
> a=rtpmap:18 G729/8000
> a=rtpmap:101 telephone-event/8000
> a=fmtp:101 0-16
> a=ptime:20
> m=audio 20696 RTP/AVP 4 101 13
> a=rtpmap:4 G723/8000
> a=rtpmap:101 telephone-event/8000
> a=fmtp:101 0-16
> a=ptime:30
>
> This is the dialplan I use to send calls to SIP redirect server
>
>
> <include>
>
> <extension name="rejections">
> <condition field="${radius_auth_result}" expression="2">
> <action application="hangup" data="CALL_REJECTED"/>
> </condition>
> </extension>
>
> <extension name="timedouts">
> <condition field="${radius_auth_result}" expression="1">
> <action application="hangup" data="SWITCH_CONGESTION"/>
> </condition>
> </extension>
>
> <extension name="SIP Redirect Server">
> <condition field="${radius_auth_result}" expression="0"/>
>
>
> <condition field="destination_number" expression="^(.+)$">
> <!--<action application="info"/>-->
> <action application="export" data="nolocal:h323-call-
> origin=originate"/>
> <action application="set" data="sip_h_X-accountcode=${accountcode}"
> />
> <action application="set" data="call_direction=outbound" />
> <action application="set" data="hangup_after_bridge=true"/>
> <action application="set" data="continue_on_fail=true"/>
> <action application="set" data="inherit_codec=true" />
> <action application="set" data="call_timeout=20"/>
> <action application="set" data="fail_on_single_reject=USER_BUSY"
> />
> <action application="set" data="origination_caller_id_
> name=${sip_req_user}"/>
> <action application="set" data="origination_caller_id_
> number=${sip_from_user}"/>
> <action application="set" data="execute_on_answer=sched_hangup
> +${h323-credit-time} alloted_timeout" />
> <action application="bridge" data="{sip_invite_from_uri=
> sip:${sip_from_user}@${sip_network_ip}}sofia/internal/${
> destination_number}@69.x.x.x:5060" />
> <action application="hangup" data="${bridge_hangup_cause}"/>
> </condition>
> </extension>
> </include
>
> Is there any variable that will force FS to change the FROM field as
> returned by the SIP Redirect server and send it to the termination
> provider? Any help on this is really greatly appreciated!
>
>
> Best regards,
>
> L. Popov
>
>
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://confluence.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
--
*Brian West*
brian at freeswitch.org
*Twitter: @FreeSWITCH , @briankwest*
http://www.freeswitchbook.com
http://www.freeswitchcookbook.com
Book a phone call (CST) <https://freeswitch.com/appointment>
Allison prompts for FreeSWITCH:
*https://www.gofundme.com/allison-prompts-for-freeswitch*
<https://www.gofundme.com/allison-prompts-for-freeswitch>
Got Bugs? Report them here <https://freeswitch.org/jira>! | Reddit:
/r/freeswitch <https://www.reddit.com/r/freeswitch>
*T:*+19184209001 | *F:*+19184209002 | *M:*+1918424WEST (9378)
*Skype:*briankwest
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20170503/95f99678/attachment.html
Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users
mailing list