Hi, Is there support for RFC3578 in FreeSWITCH? If not, is there any plans to implement it? As far as I understand from quick browsing through this RFC, it is about mapping of ISUP overlap signalling to SIP protocol. In short, remote device (softswitch for example) sends short (incomplete) number in INVITE message to freeswitch, which responds with '484 address incomplete', then softswitch send another INVITE with more digits. Freeswitch then can send another 484, and after some time (enough digits collected), proceed with usual call establishment. -- Timur Irmatov, xmpp:irmatov@jabber.ru
It already works use the respond application in the dialplan to respond 484 /b On Mar 12, 2010, at 1:20 AM, Timur Irmatov wrote:
Hi,
Is there support for RFC3578 in FreeSWITCH? If not, is there any plans to implement it?
As far as I understand from quick browsing through this RFC, it is about mapping of ISUP overlap signalling to SIP protocol. In short, remote device (softswitch for example) sends short (incomplete) number in INVITE message to freeswitch, which responds with '484 address incomplete', then softswitch send another INVITE with more digits. Freeswitch then can send another 484, and after some time (enough digits collected), proceed with usual call establishment.
-- Timur Irmatov, xmpp:irmatov@jabber.ru
_______________________________________________ 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
On Fri, Mar 12, 2010 at 5:56 PM, Brian West <brian@freeswitch.org> wrote:
It already works use the respond application in the dialplan to respond 484
Thanks for the hint, Brian. I have a SoftX3000 softswitch sending calls to FreeSWITCH. SoftX3000 is configured to send anything between 5 and 20 digits. I want FreeSWITCH to respond 484 until it receives enough digits to make a call. Here is an excerpt from my dialplan: <extension name="public_extensions"> <condition field="destination_number" expression="^006[0-9]{0,13}$"> <action application="respond" data="484"/> </condition> </extension> In the first INVITE, softswitch sends 5 digits: 00610. FreeSWITCH answers 484 just as I want it to. Softswitch sends another INVITE, this time with 6 digits: 006107, but *without* SDP. Missing SDP upsets FreeSWITCH and it responds 480, call finishes. Here is log from FreeSWITCH: 2010-03-17 09:45:07.329047 [NOTICE] switch_channel.c:669 New Channel sofia/external/1220139@10.0.2.5 [dc6f5d24-317f-11df-9775-c1f542b963a5] 2010-03-17 09:45:07.331047 [INFO] mod_dialplan_xml.c:418 Processing 1220139->00610 in context public 2010-03-17 09:45:07.331047 [NOTICE] switch_core_state_machine.c:185 sofia/external/1220139@10.0.2.5 has executed the last dialplan instruction, hanging up. 2010-03-17 09:45:07.331047 [NOTICE] switch_core_state_machine.c:187 Hangup sofia/external/1220139@10.0.2.5 [CS_EXECUTE] [NORMAL_CLEARING] 2010-03-17 09:45:07.332066 [NOTICE] switch_core_session.c:1179 Session 3 (sofia/external/1220139@10.0.2.5) Ended 2010-03-17 09:45:07.332066 [NOTICE] switch_core_session.c:1181 Close Channel sofia/external/1220139@10.0.2.5 [CS_DESTROY] 2010-03-17 09:45:08.448839 [NOTICE] switch_channel.c:669 New Channel sofia/external/1220139@10.0.2.5 [dd1a3776-317f-11df-9776-c1f542b963a5] 2010-03-17 09:45:08.448839 [INFO] sofia.c:4388 No SDP in INVITE and 3pcc not enabled, hanging up. 2010-03-17 09:45:08.449840 [NOTICE] sofia.c:4390 Hangup sofia/external/1220139@10.0.2.5 [CS_NEW] [MANDATORY_IE_MISSING] 2010-03-17 09:45:08.450840 [NOTICE] switch_core_session.c:1179 Session 4 (sofia/external/1220139@10.0.2.5) Ended 2010-03-17 09:45:08.450840 [NOTICE] switch_core_session.c:1181 Close Channel sofia/external/1220139@10.0.2.5 [CS_DESTROY] And here are SIP messages, capture made with ngrep: U 10.0.2.5:5070 -> 172.16.12.11:5090 INVITE sip:00610@172.16.12.11:5090;user=phone SIP/2.0. Via: SIP/2.0/UDP 10.0.2.5:5070;branch=z9hG4bK356eaa89a. Call-ID: a46545ffe2c776583bb02de315e8761a@10.0.2.5. From: <sip:1220139@10.0.2.5;user=phone>;tag=c5514b7f. To: <sip:00610@172.16.12.11;user=phone>. CSeq: 1 INVITE. Contact: <sip:1220139@10.0.2.5:5070;user=phone>. Supported: 100rel. P-Asserted-Identity: <sip:1220139@10.0.2.5;user=phone>. User-Agent: Huawei SoftX3000 V300R006B06D060SP32. Max-Forwards: 70. Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REGISTER,PRACK,INFO,UPDATE,SUBSCRIBE,NOTIFY,MESSAGE,REFER. Content-Length: 263. Content-Type: application/sdp. . v=0. o=HuaweiSoftX3000 98044 98044 IN IP4 10.0.2.5. s=Sip Call. c=IN IP4 172.16.12.1. t=0 0. m=audio 50000 RTP/AVP 8 0 18 4 2. a=rtpmap:8 PCMA/8000. a=rtpmap:0 PCMU/8000. a=rtpmap:18 G729/8000. a=rtpmap:4 G723/8000. a=rtpmap:2 G726-32/8000. a=fmtp:18 annexb=yes. # U 172.16.12.11:5090 -> 10.0.2.5:5070 SIP/2.0 100 Trying. Via: SIP/2.0/UDP 10.0.2.5:5070;branch=z9hG4bK356eaa89a. From: <sip:1220139@10.0.2.5;user=phone>;tag=c5514b7f. To: <sip:00610@172.16.12.11;user=phone>. Call-ID: a46545ffe2c776583bb02de315e8761a@10.0.2.5. CSeq: 1 INVITE. User-Agent: FreeSWITCH-mod_sofia/1.0.trunk-hacked. Content-Length: 0. . # U 172.16.12.11:5090 -> 10.0.2.5:5070 SIP/2.0 484 Address Incomplete. Via: SIP/2.0/UDP 10.0.2.5:5070;branch=z9hG4bK356eaa89a. From: <sip:1220139@10.0.2.5;user=phone>;tag=c5514b7f. To: <sip:00610@172.16.12.11;user=phone>;tag=4gHUF5NN21SXS. Call-ID: a46545ffe2c776583bb02de315e8761a@10.0.2.5. CSeq: 1 INVITE. Contact: <sip:00610@172.16.12.11:5090;transport=udp>. User-Agent: FreeSWITCH-mod_sofia/1.0.trunk-hacked. Accept: application/sdp. Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, UPDATE, INFO, REGISTER, REFER, NOTIFY. Supported: timer, precondition, path, replaces. Allow-Events: talk, refer. Content-Length: 0. . # U 10.0.2.5:5070 -> 172.16.12.11:5090 ACK sip:00610@172.16.12.11:5090;user=phone SIP/2.0. Via: SIP/2.0/UDP 10.0.2.5:5070;branch=z9hG4bK356eaa89a. Call-ID: a46545ffe2c776583bb02de315e8761a@10.0.2.5. From: <sip:1220139@10.0.2.5;user=phone>;tag=c5514b7f. To: <sip:00610@172.16.12.11;user=phone>;tag=4gHUF5NN21SXS. CSeq: 1 ACK. Max-Forwards: 70. Content-Length: 0. . # U 10.0.2.5:5070 -> 172.16.12.11:5090 INVITE sip:006107@172.16.12.11:5090;user=phone SIP/2.0. Via: SIP/2.0/UDP 10.0.2.5:5070;branch=z9hG4bKd3fe1aa88. Call-ID: 07f13e02d6d0be530d5da938452260a0@10.0.2.5. From: <sip:1220139@10.0.2.5;user=phone>;tag=df50ba93. To: <sip:006107@172.16.12.11;user=phone>. CSeq: 1 INVITE. Contact: <sip:1220139@10.0.2.5:5070;user=phone>. P-Asserted-Identity: <sip:1220139@10.0.2.5;user=phone>. User-Agent: Huawei SoftX3000 V300R006B06D060SP32. Max-Forwards: 70. Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REGISTER,PRACK,INFO,UPDATE,SUBSCRIBE,NOTIFY,MESSAGE,REFER. Content-Length: 0. . # U 172.16.12.11:5090 -> 10.0.2.5:5070 SIP/2.0 100 Trying. Via: SIP/2.0/UDP 10.0.2.5:5070;branch=z9hG4bKd3fe1aa88. From: <sip:1220139@10.0.2.5;user=phone>;tag=df50ba93. To: <sip:006107@172.16.12.11;user=phone>. Call-ID: 07f13e02d6d0be530d5da938452260a0@10.0.2.5. CSeq: 1 INVITE. User-Agent: FreeSWITCH-mod_sofia/1.0.trunk-hacked. Content-Length: 0. . # U 172.16.12.11:5090 -> 10.0.2.5:5070 SIP/2.0 480 Temporarily Unavailable. Via: SIP/2.0/UDP 10.0.2.5:5070;branch=z9hG4bKd3fe1aa88. From: <sip:1220139@10.0.2.5;user=phone>;tag=df50ba93. To: <sip:006107@172.16.12.11;user=phone>;tag=5SamH06rZaggN. Call-ID: 07f13e02d6d0be530d5da938452260a0@10.0.2.5. CSeq: 1 INVITE. User-Agent: FreeSWITCH-mod_sofia/1.0.trunk-hacked. Accept: application/sdp. Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, UPDATE, INFO, REGISTER, REFER, NOTIFY. Supported: timer, precondition, path, replaces. Allow-Events: talk, refer. Reason: Q.850;cause=96;text="MANDATORY_IE_MISSING". Content-Length: 0. P-Asserted-Identity: "006107" <sip:006107@172.16.12.11>. . # U 10.0.2.5:5070 -> 172.16.12.11:5090 ACK sip:006107@172.16.12.11:5090;user=phone SIP/2.0. Via: SIP/2.0/UDP 10.0.2.5:5070;branch=z9hG4bKd3fe1aa88. Call-ID: 07f13e02d6d0be530d5da938452260a0@10.0.2.5. From: <sip:1220139@10.0.2.5;user=phone>;tag=df50ba93. To: <sip:006107@172.16.12.11;user=phone>;tag=5SamH06rZaggN. CSeq: 1 ACK. Max-Forwards: 70. Content-Length: 0. RFC3578 says: "The new INVITE has the same Call-ID and the same From header field including the tag as the first INVITE sent, but has an updated Request-URI." SoftX3000 sends second INVITE with different Call-ID. Is there anything I can do on FreeSWITCH to solve this problem and continue receiving additional digits? -- Timur Irmatov, xmpp:irmatov@jabber.ru
On Mar 17, 2010, at 3:32 AM, Timur Irmatov wrote:
On Fri, Mar 12, 2010 at 5:56 PM, Brian West <brian@freeswitch.org> wrote:
It already works use the respond application in the dialplan to respond 484
RFC3578 says:
"The new INVITE has the same Call-ID and the same From header field including the tag as the first INVITE sent, but has an updated Request-URI."
SoftX3000 sends second INVITE with different Call-ID. Is there anything I can do on FreeSWITCH to solve this problem and continue receiving additional digits?
NO, Why should we even try? You paid Huawei for this switch that is doing something wrong. Contact them and make them fix it... if they won't then you have to ask yourself why they should? You paid them... they have your money... they don't care. /b
Not to mention we would have to hack the sofia sip stack in ways I can't begin to imagine. It so horribly violates the spec its a lost cause. On Wed, Mar 17, 2010 at 8:18 AM, Brian West <brian@freeswitch.org> wrote:
On Mar 17, 2010, at 3:32 AM, Timur Irmatov wrote:
On Fri, Mar 12, 2010 at 5:56 PM, Brian West <brian@freeswitch.org> wrote:
It already works use the respond application in the dialplan to respond 484
RFC3578 says:
"The new INVITE has the same Call-ID and the same From header field including the tag as the first INVITE sent, but has an updated Request-URI."
SoftX3000 sends second INVITE with different Call-ID. Is there anything I can do on FreeSWITCH to solve this problem and continue receiving additional digits?
NO, Why should we even try? You paid Huawei for this switch that is doing something wrong. Contact them and make them fix it... if they won't then you have to ask yourself why they should? You paid them... they have your money... they don't care.
/b
_______________________________________________ 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
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:+19193869900
Does the Huawei even claim to support rfc3578? If so you have proof that they are not following the spec. Contact them to find out what's going on. I'd love to see what happens if you ask them for a refund... -MC Sent from my iPhone On Mar 17, 2010, at 1:32 AM, Timur Irmatov <irmatov@gmail.com> wrote:
On Fri, Mar 12, 2010 at 5:56 PM, Brian West <brian@freeswitch.org> wrote:
It already works use the respond application in the dialplan to respond 484
Thanks for the hint, Brian. I have a SoftX3000 softswitch sending calls to FreeSWITCH. SoftX3000 is configured to send anything between 5 and 20 digits. I want FreeSWITCH to respond 484 until it receives enough digits to make a call.
Here is an excerpt from my dialplan:
<extension name="public_extensions"> <condition field="destination_number" expression="^006[0-9]{0,13}$"> <action application="respond" data="484"/> </condition> </extension>
In the first INVITE, softswitch sends 5 digits: 00610. FreeSWITCH answers 484 just as I want it to. Softswitch sends another INVITE, this time with 6 digits: 006107, but *without* SDP. Missing SDP upsets FreeSWITCH and it responds 480, call finishes. Here is log from FreeSWITCH:
2010-03-17 09:45:07.329047 [NOTICE] switch_channel.c:669 New Channel sofia/external/1220139@10.0.2.5 [dc6f5d24-317f-11df-9775-c1f542b963a5] 2010-03-17 09:45:07.331047 [INFO] mod_dialplan_xml.c:418 Processing 1220139->00610 in context public 2010-03-17 09:45:07.331047 [NOTICE] switch_core_state_machine.c:185 sofia/external/1220139@10.0.2.5 has executed the last dialplan instruction, hanging up. 2010-03-17 09:45:07.331047 [NOTICE] switch_core_state_machine.c:187 Hangup sofia/external/1220139@10.0.2.5 [CS_EXECUTE] [NORMAL_CLEARING] 2010-03-17 09:45:07.332066 [NOTICE] switch_core_session.c:1179 Session 3 (sofia/external/1220139@10.0.2.5) Ended 2010-03-17 09:45:07.332066 [NOTICE] switch_core_session.c:1181 Close Channel sofia/external/1220139@10.0.2.5 [CS_DESTROY] 2010-03-17 09:45:08.448839 [NOTICE] switch_channel.c:669 New Channel sofia/external/1220139@10.0.2.5 [dd1a3776-317f-11df-9776-c1f542b963a5] 2010-03-17 09:45:08.448839 [INFO] sofia.c:4388 No SDP in INVITE and 3pcc not enabled, hanging up. 2010-03-17 09:45:08.449840 [NOTICE] sofia.c:4390 Hangup sofia/external/1220139@10.0.2.5 [CS_NEW] [MANDATORY_IE_MISSING] 2010-03-17 09:45:08.450840 [NOTICE] switch_core_session.c:1179 Session 4 (sofia/external/1220139@10.0.2.5) Ended 2010-03-17 09:45:08.450840 [NOTICE] switch_core_session.c:1181 Close Channel sofia/external/1220139@10.0.2.5 [CS_DESTROY]
And here are SIP messages, capture made with ngrep:
U 10.0.2.5:5070 -> 172.16.12.11:5090 INVITE sip:00610@172.16.12.11:5090;user=phone SIP/2.0. Via: SIP/2.0/UDP 10.0.2.5:5070;branch=z9hG4bK356eaa89a. Call-ID: a46545ffe2c776583bb02de315e8761a@10.0.2.5. From: <sip:1220139@10.0.2.5;user=phone>;tag=c5514b7f. To: <sip:00610@172.16.12.11;user=phone>. CSeq: 1 INVITE. Contact: <sip:1220139@10.0.2.5:5070;user=phone>. Supported: 100rel. P-Asserted-Identity: <sip:1220139@10.0.2.5;user=phone>. User-Agent: Huawei SoftX3000 V300R006B06D060SP32. Max-Forwards: 70. Allow: INVITE, ACK, CANCEL, OPTIONS,BYE,REGISTER,PRACK,INFO,UPDATE,SUBSCRIBE,NOTIFY,MESSAGE,REFER. Content-Length: 263. Content-Type: application/sdp. . v=0. o=HuaweiSoftX3000 98044 98044 IN IP4 10.0.2.5. s=Sip Call. c=IN IP4 172.16.12.1. t=0 0. m=audio 50000 RTP/AVP 8 0 18 4 2. a=rtpmap:8 PCMA/8000. a=rtpmap:0 PCMU/8000. a=rtpmap:18 G729/8000. a=rtpmap:4 G723/8000. a=rtpmap:2 G726-32/8000. a=fmtp:18 annexb=yes.
# U 172.16.12.11:5090 -> 10.0.2.5:5070 SIP/2.0 100 Trying. Via: SIP/2.0/UDP 10.0.2.5:5070;branch=z9hG4bK356eaa89a. From: <sip:1220139@10.0.2.5;user=phone>;tag=c5514b7f. To: <sip:00610@172.16.12.11;user=phone>. Call-ID: a46545ffe2c776583bb02de315e8761a@10.0.2.5. CSeq: 1 INVITE. User-Agent: FreeSWITCH-mod_sofia/1.0.trunk-hacked. Content-Length: 0. .
# U 172.16.12.11:5090 -> 10.0.2.5:5070 SIP/2.0 484 Address Incomplete. Via: SIP/2.0/UDP 10.0.2.5:5070;branch=z9hG4bK356eaa89a. From: <sip:1220139@10.0.2.5;user=phone>;tag=c5514b7f. To: <sip:00610@172.16.12.11;user=phone>;tag=4gHUF5NN21SXS. Call-ID: a46545ffe2c776583bb02de315e8761a@10.0.2.5. CSeq: 1 INVITE. Contact: <sip:00610@172.16.12.11:5090;transport=udp>. User-Agent: FreeSWITCH-mod_sofia/1.0.trunk-hacked. Accept: application/sdp. Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, UPDATE, INFO, REGISTER, REFER, NOTIFY. Supported: timer, precondition, path, replaces. Allow-Events: talk, refer. Content-Length: 0. .
# U 10.0.2.5:5070 -> 172.16.12.11:5090 ACK sip:00610@172.16.12.11:5090;user=phone SIP/2.0. Via: SIP/2.0/UDP 10.0.2.5:5070;branch=z9hG4bK356eaa89a. Call-ID: a46545ffe2c776583bb02de315e8761a@10.0.2.5. From: <sip:1220139@10.0.2.5;user=phone>;tag=c5514b7f. To: <sip:00610@172.16.12.11;user=phone>;tag=4gHUF5NN21SXS. CSeq: 1 ACK. Max-Forwards: 70. Content-Length: 0. .
# U 10.0.2.5:5070 -> 172.16.12.11:5090 INVITE sip:006107@172.16.12.11:5090;user=phone SIP/2.0. Via: SIP/2.0/UDP 10.0.2.5:5070;branch=z9hG4bKd3fe1aa88. Call-ID: 07f13e02d6d0be530d5da938452260a0@10.0.2.5. From: <sip:1220139@10.0.2.5;user=phone>;tag=df50ba93. To: <sip:006107@172.16.12.11;user=phone>. CSeq: 1 INVITE. Contact: <sip:1220139@10.0.2.5:5070;user=phone>. P-Asserted-Identity: <sip:1220139@10.0.2.5;user=phone>. User-Agent: Huawei SoftX3000 V300R006B06D060SP32. Max-Forwards: 70. Allow: INVITE, ACK, CANCEL, OPTIONS,BYE,REGISTER,PRACK,INFO,UPDATE,SUBSCRIBE,NOTIFY,MESSAGE,REFER. Content-Length: 0. .
# U 172.16.12.11:5090 -> 10.0.2.5:5070 SIP/2.0 100 Trying. Via: SIP/2.0/UDP 10.0.2.5:5070;branch=z9hG4bKd3fe1aa88. From: <sip:1220139@10.0.2.5;user=phone>;tag=df50ba93. To: <sip:006107@172.16.12.11;user=phone>. Call-ID: 07f13e02d6d0be530d5da938452260a0@10.0.2.5. CSeq: 1 INVITE. User-Agent: FreeSWITCH-mod_sofia/1.0.trunk-hacked. Content-Length: 0. .
# U 172.16.12.11:5090 -> 10.0.2.5:5070 SIP/2.0 480 Temporarily Unavailable. Via: SIP/2.0/UDP 10.0.2.5:5070;branch=z9hG4bKd3fe1aa88. From: <sip:1220139@10.0.2.5;user=phone>;tag=df50ba93. To: <sip:006107@172.16.12.11;user=phone>;tag=5SamH06rZaggN. Call-ID: 07f13e02d6d0be530d5da938452260a0@10.0.2.5. CSeq: 1 INVITE. User-Agent: FreeSWITCH-mod_sofia/1.0.trunk-hacked. Accept: application/sdp. Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, UPDATE, INFO, REGISTER, REFER, NOTIFY. Supported: timer, precondition, path, replaces. Allow-Events: talk, refer. Reason: Q.850;cause=96;text="MANDATORY_IE_MISSING". Content-Length: 0. P-Asserted-Identity: "006107" <sip:006107@172.16.12.11>. .
# U 10.0.2.5:5070 -> 172.16.12.11:5090 ACK sip:006107@172.16.12.11:5090;user=phone SIP/2.0. Via: SIP/2.0/UDP 10.0.2.5:5070;branch=z9hG4bKd3fe1aa88. Call-ID: 07f13e02d6d0be530d5da938452260a0@10.0.2.5. From: <sip:1220139@10.0.2.5;user=phone>;tag=df50ba93. To: <sip:006107@172.16.12.11;user=phone>;tag=5SamH06rZaggN. CSeq: 1 ACK. Max-Forwards: 70. Content-Length: 0.
RFC3578 says:
"The new INVITE has the same Call-ID and the same From header field including the tag as the first INVITE sent, but has an updated Request-URI."
SoftX3000 sends second INVITE with different Call-ID. Is there anything I can do on FreeSWITCH to solve this problem and continue receiving additional digits?
-- Timur Irmatov, xmpp:irmatov@jabber.ru
_______________________________________________ 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
participants (4)
-
Anthony Minessale
-
Brian West
-
Michael S Collins
-
Timur Irmatov