[Freeswitch-users] 404 Error on incoming calls
Kurt Marasco
kmarasco at faithwork.org
Sat Mar 15 03:16:16 PDT 2008
Thanks Dale, I now have a working inbound did and outbound calling via a
voip provider.
I did try hard coding the string "In-2061234567" in public.xml, but I
was still missing the parenthesis in default.xml so the same pcre error
was stopping it from working. By fixing the pattern in both places , per
your suggestion, I am successful:)
Thanks to all who helped. I'm sure that I'll see you here a bit more.
Your responsiveness is apprecated!!
Kurt
freeswitch at dalethatcher.com wrote:
> Kurt,
>
> In you excerpt below you're missing brackets in your regex that were
> present earlier. This will set the value of '$1'. e.g. it needs to be
> "^(In-2061234567)$" for $1 to be set to In-2061234567.
>
> I've tried your dialplan below with brackets inserted and different
> default.xml actions and it seems to be fine.
>
> Also can you try testing by substituting the actual string you're
> expecting to work? e.g. rather than 1001 hard code In-2061234567.
>
> thanks,
>
> - Dale
>
> On Sat, Mar 15, 2008 at 01:31:15AM -0700, Kurt Marasco wrote:
>
>> Michael, you are absolutely correct that it is matching on the enum
>> extension in the default profile. When I comment out the enum extension
>> I get no match.
>>
>> So I know that the transfer is being made from public.xml to
>> default.xml. The question is why am I not getting a match? And is there
>> any way to see what's contained in the $1 that is being passed from
>> public,xml to default.xml??? The debug shows $1
>> (Caller-Destination-Number: [$1]) and not the contents of the variable.
>> This field shows 1001 when I hard code the final extension.
>>
>> I found an error in my extension in default xml relating to where the
>> condition is closed, but I fixed it and still do not get a match.
>>
>> public.xml contains the following:
>> <!-- http://wiki.freeswitch.org/wiki/Dialplan_XML -->
>> <include>
>> <context name="public">
>>
>> <extension name="unloop">
>> <condition field="${unroll_loops}" expression="^true$"/>
>> <condition field="${sip_looped_call}" expression="^true$">
>> <action application="deflect" data="${destination_number}"/>
>> </condition>
>> </extension>
>>
>> <extension name="public_did2">
>> <condition field="destination_number" expression="^In-2061234567$">
>> <action application="transfer" data="$1 XML default"/>
>> </condition>
>> </extension>
>>
>> </context>
>> </include>
>>
>> The extension public_did2 differs from my working scenario only in that
>> I hard coded the destination extension 1001 in place of $1.
>> My extension to match in default.xml is listed prior to the enum
>> extension that is being matched as follows:
>> <extension name="In-2061234567">
>> <condition field="destination_number" expression="^In-2061234567$">
>> <!-- <action application="ringback" /> -->
>> <action application="set" data="call_timeout=20"/>
>> <action application="bridge" data="sofia/default/1001%$${domain}"/>
>> <action application="javascript"
>> data="/usr/local/freeswitch/scripts/answermachine.js"/>
>> </condition>
>> </extension>
>>
>> My understanding is that $1 should contain whatever was matched in
>> public.xml, which is the string "In-2061234567". My condition expression
>> in default.xml is "^In-2061234567$", so I don't where else to look at
>> this point. My probable conclusions are that I have a syntax error or
>> that $1 is passing something other than expected. Extension
>> "In-2061234567" was not in the directory because it is not a physical
>> endpoint. I added it to the directory thinking that this might be an
>> authentication issue, but the result is the same even if "In-2061234567"
>> is in the directory (No sip phone is registering to "In-2061234567" as
>> my intent is to transfer/bridge to 1001.
>>
>> Kurt
>>
>>
>>
>> Michael Jerris wrote:
>>
>>> This is a different extension that is transfering to the enum dialplan
>>> not XML like the extension you pasted. Chek your conditions to see
>>> why its matching the wrong ext.
>>>
>>> Mike
>>>
>>> On Mar 14, 2008, at 6:31 PM, Kurt Marasco <kmarasco at faithwork.org>
>>> wrote:
>>>
>>>
>>>
>>>> Here's the FS debug from the console:
>>>>
>>>> nta: received INVITE sip:In-2061234567 at mydomain.com:5080 SIP/2.0
>>>> (CSeq 102)
>>>> nta: INVITE (102) going to a default leg
>>>> nua(0x81c22c0): adding session usage
>>>> nta: sent 100 Trying for INVITE (102)
>>>> nua(0x81c22c0): call state changed: init -> received, received offer
>>>> 2008-03-14 18:18:40 [NOTICE] switch_channel.c:522
>>>> switch_channel_set_name() New Chan
>>>> sofia/outbound/5031234567 at 67.55.341.56:5060
>>>> [b9608e95-8a80-49ba-b3c5-883432c4bcb2]
>>>> 2008-03-14 18:18:40 [INFO] mod_dialplan_xml.c:222 dialplan_hunt()
>>>> Processing PORTLAND OR->In-2061234567!
>>>> 2008-03-14 18:18:40 [NOTICE] switch_ivr.c:924
>>>> switch_ivr_session_transfer() Transfer
>>>> sofia/outbound/5031234567 at 67.55.341.56:5060 to XML[$1 at default]
>>>> 2008-03-14 18:18:40 [INFO] mod_dialplan_xml.c:222 dialplan_hunt()
>>>> Processing PORTLAND OR->$1!
>>>> 2008-03-14 18:18:40 [INFO] mod_dptools.c:601 info_function()
>>>> CHANNEL_DATA:
>>>> Channel-State: [CS_EXECUTE]
>>>> Channel-State-Number: [4]
>>>> Channel-Name: [sofia/outbound/5031234567 at 67.55.341.56:5060]
>>>> Unique-ID: [b9608e95-8a80-49ba-b3c5-883432c4bcb2]
>>>> Call-Direction: [inbound]
>>>> Answer-State: [ringing]
>>>> Channel-Read-Codec-Name: [PCMU]
>>>> Channel-Read-Codec-Rate: [8000]
>>>> Channel-Write-Codec-Name: [PCMU]
>>>> Channel-Write-Codec-Rate: [8000]
>>>> Caller-Username: [5031234567]
>>>> Caller-Dialplan: [XML]
>>>> Caller-Caller-ID-Name: [PORTLAND OR]
>>>> Caller-Caller-ID-Number: [5031234567]
>>>> Caller-Network-Addr: [67.55.341.56]
>>>> Caller-Destination-Number: [$1]
>>>> Caller-Unique-ID: [b9608e95-8a80-49ba-b3c5-883432c4bcb2]
>>>> Caller-Source: [mod_sofia]
>>>> Caller-Context: [default]
>>>> Caller-RDNIS: [In-2061234567]
>>>> Caller-Channel-Name: [sofia/outbound/5031234567 at 67.55.341.56:5060]
>>>> Caller-Channel-Created-Time: [1205543920601430]
>>>> Caller-Channel-Answered-Time: [0]
>>>> Caller-Channel-Hangup-Time: [0]
>>>> Caller-Channel-Transfer-Time: [0]
>>>> Caller-Screen-Bit: [yes]
>>>> Caller-Privacy-Hide-Name: [no]
>>>> Caller-Privacy-Hide-Number: [no]
>>>> variable_sip_from_user: [5031234567]
>>>> variable_sip_from_port: [5060]
>>>> variable_sip_from_uri: [5031234567 at 67.55.341.56:5060]
>>>> variable_sip_from_host: [67.55.341.56]
>>>> variable_sip_from_user_stripped: [5031234567]
>>>> variable_sip_from_tag: [as6a5e4b5c]
>>>> variable_sofia_profile_name: [outbound]
>>>> variable_sofia_profile_domain_name: [outbound]
>>>> variable_sip_req_user: [In-2061234567]
>>>> variable_sip_req_port: [5080]
>>>> variable_sip_req_uri: [In-2061234567 at mydomain.com:5080]
>>>> variable_sip_req_host: [mydomain.com]
>>>> variable_sip_to_user: [In-2061234567]
>>>> variable_sip_to_port: [5080]
>>>> variable_sip_to_uri: [In-2061234567 at mydomain.com:5080]
>>>> variable_sip_to_host: [mydomain.com]
>>>> variable_sip_contact_user: [5031234567]
>>>> variable_sip_contact_port: [5060]
>>>> variable_sip_contact_uri: [5031234567 at 67.55.341.56:5060]
>>>> variable_sip_contact_host: [67.55.341.56]
>>>> variable_channel_name: [sofia/outbound/5031234567 at 67.55.341.56:5060]
>>>> variable_sip_call_id: [637c71185629eca135630a1d3c215d08 at 67.55.341.56]
>>>> variable_sip_user_agent: [Asterisk PBX]
>>>> variable_sip_via_host: [67.55.341.56]
>>>> variable_sip_via_port: [5060]
>>>> variable_sip_via_rport: [5060]
>>>> variable_max_forwards: [70]
>>>> variable_switch_r_sdp: [v=0
>>>> o=root 25187 25187 IN IP4 67.55.341.56
>>>> s=session
>>>> c=IN IP4 67.55.341.56
>>>> t=0 0
>>>> m=audio 12740 RTP/AVP 0 8 3 18 97 101
>>>> a=rtpmap:0 PCMU/8000
>>>> a=rtpmap:8 PCMA/8000
>>>> a=rtpmap:3 GSM/8000
>>>> a=rtpmap:18 G729/8000
>>>> a=fmtp:18 annexb=no
>>>> a=rtpmap:97 iLBC/8000
>>>> a=fmtp:97 mode=30
>>>> a=rtpmap:101 telephone-event/8000
>>>> a=fmtp:101 0-16
>>>> a=silenceSupp:off - - - -
>>>> a=ptime:20
>>>> ]
>>>> variable_remote_media_ip: [67.55.341.56]
>>>> variable_remote_media_port: [12740]
>>>> variable_read_codec: [PCMU]
>>>> variable_read_rate: [8000]
>>>> variable_write_codec: [PCMU]
>>>> variable_write_rate: [8000]
>>>> variable_endpoint_disposition: [RECEIVED]
>>>> variable_use_profile: [default]
>>>> variable_numbering_plan: [US]
>>>> variable_default_gateway: [192.168.2.1]
>>>> variable_default_area_code: [509]
>>>> variable_user_name: [default]
>>>> variable_domain_name: [192.168.2.102]
>>>>
>>>>
>>>> 2008-03-14 18:18:41 [NOTICE] switch_ivr.c:924
>>>> switch_ivr_session_transfer() Transfer
>>>> sofia/outbound/5031234567 at 67.55.341.56:5060 to enum[$1 at default]
>>>> 2008-03-14 18:18:41 [INFO] switch_core_state_machine.c:112
>>>> switch_core_standard_on_ring() No Route, Aborting
>>>> 2008-03-14 18:18:41 [NOTICE] switch_core_state_machine.c:113
>>>> switch_core_standard_on_ring() Hangup
>>>> sofia/outbound/5031234567 at 67.55.341.56:5060 [CS_RING]
>>>> [NO_ROUTE_DESTINATION]
>>>> nta: sent 404 Not Found for INVITE (102)
>>>> nua(0x81c22c0): removing session usage
>>>> nua(0x81c22c0): call state changed: init -> terminated
>>>> 2008-03-14 18:18:41 [NOTICE] switch_core_session.c:717
>>>> switch_core_session_thread() Session 2
>>>> (sofia/outbound/5031234567 at 67.55.341.56:5060) Ended
>>>> 2008-03-14 18:18:41 [NOTICE] switch_core_session.c:719
>>>> switch_core_session_thread() Close Channel
>>>> sofia/outbound/5031234567 at 67.55.341.56:5060 [CS_HANGUP]
>>>>
>>>> Thanks
>>>>
>>>> Josip Djuricic wrote:
>>>>
>>>>
>>>>> Could you please post a FS debug also with sip debug enabled on these
>>>>> event?
>>>>>
>>>>>
>>>>> Kurt Marasco wrote:
>>>>>
>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> That's what I tried, but I ended up I hardcoding the extension.
>>>>>> When I
>>>>>> left it as $1, the console showed it being passed literally as $1
>>>>>> (But
>>>>>> maybe it was actually passing the contents of the variable). Since I
>>>>>> don't have a registered endpoint that matched my incoming DID, I was
>>>>>> trying to have the default dial plan handle the passed DID with no
>>>>>> luck.
>>>>>> It seemed to only want to transfer or bridge to a registered
>>>>>> endpoint
>>>>>> and not into the dial plan.
>>>>>>
>>>>>> Perhaps my syntax in the default dial plan was wrong. I tried this
>>>>>> in
>>>>>> the public.xml:
>>>>>> <extension name="public_did2">
>>>>>> <condition field="destination_number" expression="^
>>>>>> (In-2061234567)$">
>>>>>> <action application="transfer" data="$1 XML default"/>
>>>>>> </condition>
>>>>>> </extension>
>>>>>>
>>>>>> And this in the default dial plan:
>>>>>> <extension name="In-2061234567">
>>>>>> <condition field="destination_number"
>>>>>> expression="^In-2061234567$"/>
>>>>>> <action application="ringback" />
>>>>>> <action application="set" data="call_timeout=20"/>
>>>>>> <action application="bridge" data="sofia/default/1001%$$
>>>>>> {domain}"/>
>>>>>> <action application="javascript"
>>>>>> data="/usr/local/freeswitch/scripts/answermachine.js"/>
>>>>>> </extension>
>>>>>>
>>>>>> The above fails, but below worked by itself in public.xml:
>>>>>> <extension name="public_did">
>>>>>> <condition field="destination_number" expression="^In-2061234567
>>>>>> $">
>>>>>> <action application="transfer" data="1001 XML default"/>
>>>>>> </condition>
>>>>>> </extension>
>>>>>>
>>>>>> Thanks,
>>>>>> Kurt
>>>>>>
>>>>>> Josip Djuricic wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Hi there,
>>>>>>>
>>>>>>> if I'm not mistaking (if I am Brian or someone else will tell), you
>>>>>>> can do it from the public.xml
>>>>>>>
>>>>>>> Example:
>>>>>>> <extension name="name_of_incoming_extension">
>>>>>>> <condition field="destination_number"
>>>>>>> expression="^(incoming_extension_number_match)$">
>>>>>>> <action application="transfer" data="$1 XML default"/>
>>>>>>> </condition>
>>>>>>> </extension>
>>>>>>>
>>>>>>> If I'm not mistaking with transfer to XML default you do exactly
>>>>>>> what
>>>>>>> you wanna do.
>>>>>>>
>>>>>>> Josip
>>>>>>>
>>>>>>> Kurt Marasco wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> Thanks Brian and Josip for your responses,
>>>>>>>>
>>>>>>>> Brian's suggestion did the trick for me. I can both transfer and
>>>>>>>> bridge the call to a registered extension in the default dial
>>>>>>>> plan.
>>>>>>>>
>>>>>>>> Not sure if If it makes sense to do this, but is there a way to
>>>>>>>> pass
>>>>>>>> the call into the default dial plan and have the default dial plan
>>>>>>>> process the sip invite. I'm able to send the incoming did to a
>>>>>>>> registered endpoint from (in the directory) but can't pass it
>>>>>>>> through
>>>>>>>> to the default and match on the original incoming did.
>>>>>>>>
>>>>>>>> I'm still confused about what the nat profile does, because I'm
>>>>>>>> behind nat and am not using the nat profile, yet freeswitch
>>>>>>>> seems to
>>>>>>>> be working.
>>>>>>>>
>>>>>>>>
>>>>>>>> Brian West wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> Kurt,
>>>>>>>>> First off let me fill in a few blanks here.
>>>>>>>>>
>>>>>>>>> Correct me if i'm wrong this looks like an inbound invite to port
>>>>>>>>> 5070 right? If so then you're not using the default config as it
>>>>>>>>> was designed. (I did the bulk of the config)
>>>>>>>>>
>>>>>>>>> Here is what you do. Have your IPKALL did hit your IP on port
>>>>>>>>> 5080
>>>>>>>>> instead.. aka the outbound profile.
>>>>>>>>>
>>>>>>>>> Then open up dialplan/public.xml and install an extension that
>>>>>>>>> can
>>>>>>>>> route to a registered endpoing. their is a 5551212 example in
>>>>>>>>> there.
>>>>>>>>>
>>>>>>>>> /b
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Mar 11, 2008, at 5:02 AM, Kurt Marasco wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Hi I am testing FS and am currently working with the xml
>>>>>>>>>> dialplan.
>>>>>>>>>> I have FS behind a NAT router and have 2 soft phones
>>>>>>>>>> functioning on
>>>>>>>>>> another PC behind the router. I currently have working
>>>>>>>>>> conversations when dialing between the extensions set up on each
>>>>>>>>>> phone.
>>>>>>>>>>
>>>>>>>>>> I am now trying to call one of the softphones via an IpKall
>>>>>>>>>> DID. I
>>>>>>>>>> have no problem making this work if I use wikipbx, but can't
>>>>>>>>>> make
>>>>>>>>>> it work using the xml dialplan, so clearly FS is working and my
>>>>>>>>>> configuration is the issue. I am currently sending the ipkall
>>>>>>>>>> sip
>>>>>>>>>> invite to port 5070, but have tried 5060 as well.
>>>>>>>>>>
>>>>>>>>>> Here is the console output from FS when I dial my IpKall DID
>>>>>>>>>> from
>>>>>>>>>> my land line.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> nta: received INVITE sip:In-2061234567 at mydomain.com:5070 SIP/
>>>>>>>>>>> 2.0
>>>>>>>>>>> (CSeq 102)
>>>>>>>>>>> nta: INVITE (102) going to a default leg
>>>>>>>>>>> nua(0x8117508): adding session usage
>>>>>>>>>>> nta: sent 100 Trying for INVITE (102)
>>>>>>>>>>> nua(0x8117508): call state changed: init -> received,
>>>>>>>>>>> received offer
>>>>>>>>>>> 2008-03-11 02:25:31 [NOTICE] switch_channel.c:522
>>>>>>>>>>> switch_channel_set_name() New Chan
>>>>>>>>>>> sofia/nat/5035557777 at 69.64.180.77:5060
>>>>>>>>>>> [53bb0a56-f059-483e-9e08-d583a9566255]
>>>>>>>>>>> 2008-03-11 02:25:32 [INFO] mod_dialplan_xml.c:222
>>>>>>>>>>> dialplan_hunt()
>>>>>>>>>>> Processing PORTLAND OR->In-2061234567!
>>>>>>>>>>> *2008-03-11 02:25:32 [INFO] switch_core_state_machine.c:112
>>>>>>>>>>> switch_core_standard_on_ring() No Route, Aborting*
>>>>>>>>>>> 2008-03-11 02:25:32 [NOTICE] switch_core_state_machine.c:113
>>>>>>>>>>> switch_core_standard_on_ring() Hangup
>>>>>>>>>>> sofia/nat/5035557777 at 69.64.180.77:5060 [CS_RING]
>>>>>>>>>>> [NO_ROUTE_DESTINATION]
>>>>>>>>>>> nta: sent 404 Not Found for INVITE (102)
>>>>>>>>>>> nua(0x8117508): removing session usage
>>>>>>>>>>> nua(0x8117508): call state changed: init -> terminated
>>>>>>>>>>> nta: received ACK sip:In-2061234567 at mydomain.com:5070 SIP/2.0
>>>>>>>>>>> (CSeq 102)
>>>>>>>>>>> nta: ACK (102) is going to INVITE (102)
>>>>>>>>>>> 2008-03-11 02:25:32 [NOTICE] switch_core_session.c:717
>>>>>>>>>>> switch_core_session_thread() Session 1
>>>>>>>>>>> (sofia/nat/5035557777 at 69.64.180.77:5060) Ended
>>>>>>>>>>> 2008-03-11 02:25:32 [NOTICE] switch_core_session.c:719
>>>>>>>>>>> switch_core_session_thread() Close Channel
>>>>>>>>>>> sofia/nat/5035557777 at 69.64.180.77:5060 [CS_HANGUP]
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>> Any thoughts on what I'm doing wrong would be appreciated.
>>>>>>>>>>
>>>>>>>>>> Kurt
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Freeswitch-users mailing list
>>>>>>>>>> Freeswitch-users at lists.freeswitch.org
>>>>>>>>>> <mailto: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
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>> ---
>>>>>>>> ---
>>>>>>>> ------------------------------------------------------------------
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> 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
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> ---
>>>>>>> ---
>>>>>>> ------------------------------------------------------------------
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> _______________________________________________
>>>>>> 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
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>> ---
>>>>> ---------------------------------------------------------------------
>>>>>
>>>>> _______________________________________________
>>>>> 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
>>>>>
>>>>>
>>>>>
>>>> _______________________________________________
>>>> 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
>>>>
>>>>
>>> _______________________________________________
>>> 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
>>>
>>>
>> _______________________________________________
>> 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
>>
>
> _______________________________________________
> 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
>
More information about the FreeSWITCH-users
mailing list