[Freeswitch-users] Cannot ring extension from DID
Mike Hendrie
mike at hendrienet.com
Wed May 22 08:35:15 MSD 2013
Correction:
I had a second dialplan in the public folder that was causing confusion.
Below is the dialplan I am using.
If I change the extension in the dialplan from 1000 to 1001 I get
the appropriate voice mail extension, however, the phones never ring.
I have the fs configured as a multi-tenant solution.
Could the dialplan be using the default extensions (1000 and 1001) under
/conf/directory/default and not reference the
/conf/directory/GothamCity.xom domain? That would explain why I get to the
voicemail for the correct extension when the phone never rings.
Thanks
=====
/usr/local/freeswitch/conf/dialplan/public/GothamCity.xom.xml
<include>
<extension name="GothamCity.xom 1001">
<condition field="destination_number" expression="^1?(2624481175)$">
<action application="set" data="domain_name=GothamCity.xom"/>
<action application="transfer" data="1001 XML default"/>
</condition>
</extension>
</include>
=====
/conf/directory/GothamCity.xom.xml
<domain name="GothamCity.xom">
<params>
<param name="dial-string"
value="{^^:sip_invite_domain=${dialed_domain}:presence_id=${dialed_user}@
${dialed_domain}}${sofia_contact(*/${dialed_user}@${dialed_domain})}"/>
</params>
<variables>
<variable name="record_stereo" value="true"/>
<variable name="user_context" value="default"/>
<variable name="default_gateway" value="$${default_provider}"/>
<variable name="default_areacode" value="$${default_areacode}"/>
<variable name="transfer_fallback_extension" value="operator"/>
</variables>
<groups>
<group name="GothamCity.xom">
<users>
<X-PRE-PROCESS cmd="include" data="GothamCity.xom/*.xml"/>
</users>
</group>
<group name="sales">
<users>
<!--
type="pointer" is a pointer so you can have the
same user in multiple groups. It basically means
to keep searching for the user in the directory.
-->
<user id="1000" type="pointer"/>
<user id="1001" type="pointer"/>
<user id="1002" type="pointer"/>
<user id="1003" type="pointer"/>
<user id="1004" type="pointer"/>
</users>
</group>
=====
On Tue, May 21, 2013 at 9:27 PM, Mike Hendrie <mike at hendrienet.com> wrote:
> Thank you for your assistance. I made the suggested modification below,
> however, when calling the number it goes directly to voicemail.
>
> /usr/local/freeswitch/conf/dialplan/public/GothamCity.xom.xml
>
> <include>
>
> <extension name="vitel-inbound">
> <condition field="destination_number" expression="^1?(262xxxxxxx)$">
> <action application="transfer" data="1000 XML default"/>
> </condition>
> </extension>
>
> </include>
>
>
>
> On Tue, May 21, 2013 at 4:37 PM, Michael Collins <msc at freeswitch.org>wrote:
>
>> Hi Mike,
>>
>> No worries - this can be frustrating at first. You'll get the hang of it
>> shortly.
>>
>> Okay, technically speaking there is no explicit link between a gateway
>> and an extension. Rather, the inbound call is handled by the dialplan. If
>> you're using the vanilla example configs (which you should be to start out)
>> then your inbound call is handled in the public dialplan context. This
>> means that you need to have a file in conf/dialplan/public/ to handle your
>> inbound call. It looks to me like your GothamCity.xom.xml file would work,
>> but you'll need to make at least two changes:
>>
>> #1 - move the file from the conf/dialplan/default/ directory into
>> conf/dialplan/public/
>> #2 - add the regular expression for your DID number. For example, if your
>> DID number was 800-555-1212 you would do something like this:
>>
>> <extension name="vitel-inbound">
>> <condition field="destination_number" expression="^1?(8005551212)$">
>> <action application="transfer" data="1000 XML default"/>
>> </condition>
>> </extension>
>>
>>
>> Hope this helps.
>> -MC
>>
>>
>> On Tue, May 21, 2013 at 1:23 PM, Mike Hendrie <mike at hendrienet.com>wrote:
>>
>>> I think I am missing the basic understanding of how the DID connects to
>>> the gateway then to the extension. Which file does what.
>>>
>>> thanks!!
>>>
>>>
>>> On Tue, May 21, 2013 at 3:20 PM, Mike Hendrie <mike at hendrienet.com>wrote:
>>>
>>>> I am looking in the vars.xml file and am not seeing any reference to a
>>>> gateway:
>>>>
>>>> ======
>>>> vars.xml
>>>>
>>>> <X-PRE-PROCESS cmd="set" data="default_password=H1dD3n!"/>
>>>>
>>>> <X-PRE-PROCESS cmd="set" data="domain=$${local_ip_v4}"/>
>>>> <X-PRE-PROCESS cmd="set" data="domain_name=$${domain}"/>
>>>> <X-PRE-PROCESS cmd="set" data="hold_music=local_stream://moh"/>
>>>> <X-PRE-PROCESS cmd="set" data="use_profile=internal"/>
>>>>
>>>> <X-PRE-PROCESS cmd="set" data="zrtp_secure_media=true"/>
>>>>
>>>> <X-PRE-PROCESS cmd="set" data="global_codec_prefs=G722,PCMU,PCMA,GSM"/>
>>>> <X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=PCMU,PCMA,GSM"/>
>>>>
>>>> <X-PRE-PROCESS cmd="set" data="xmpp_client_profile=xmppc"/>
>>>> <X-PRE-PROCESS cmd="set" data="xmpp_server_profile=xmpps"/>
>>>>
>>>> <X-PRE-PROCESS cmd="set" data="bind_server_ip=auto"/>
>>>>
>>>> <X-PRE-PROCESS cmd="set" data="external_rtp_ip=stun:stun.freeswitch.org
>>>> "/>
>>>>
>>>> <X-PRE-PROCESS cmd="set" data="external_sip_ip=stun:stun.freeswitch.org
>>>> "/>
>>>>
>>>> <X-PRE-PROCESS cmd="set" data="unroll_loops=true"/>
>>>>
>>>> <X-PRE-PROCESS cmd="set" data="outbound_caller_name=FreeSWITCH"/>
>>>> <X-PRE-PROCESS cmd="set" data="outbound_caller_id=0000000000"/>
>>>>
>>>>
>>>> <X-PRE-PROCESS cmd="set" data="call_debug=false"/>
>>>> <X-PRE-PROCESS cmd="set" data="console_loglevel=info"/>
>>>> <X-PRE-PROCESS cmd="set" data="default_areacode=918"/>
>>>> <X-PRE-PROCESS cmd="set" data="default_country=US"/>
>>>>
>>>>
>>>> <X-PRE-PROCESS cmd="set" data="presence_privacy=false"/>
>>>>
>>>> <X-PRE-PROCESS cmd="set" data="be-ring=%(1000,3000,425)"/>
>>>> <X-PRE-PROCESS cmd="set" data="ca-ring=%(2000,4000,440,480)"/>
>>>> <X-PRE-PROCESS cmd="set" data="cn-ring=%(1000,4000,450)"/>
>>>> <X-PRE-PROCESS cmd="set" data="cy-ring=%(1500,3000,425)"/>
>>>> <X-PRE-PROCESS cmd="set" data="cz-ring=%(1000,4000,425)"/>
>>>> <X-PRE-PROCESS cmd="set" data="de-ring=%(1000,4000,425)"/>
>>>> <X-PRE-PROCESS cmd="set" data="dk-ring=%(1000,4000,425)"/>
>>>> <X-PRE-PROCESS cmd="set" data="dz-ring=%(1500,3500,425)"/>
>>>> <X-PRE-PROCESS cmd="set" data="eg-ring=%(2000,1000,475,375)"/>
>>>> <X-PRE-PROCESS cmd="set" data="es-ring=%(1500,3000,425)"/>
>>>> <X-PRE-PROCESS cmd="set" data="fi-ring=%(1000,4000,425)"/>
>>>> <X-PRE-PROCESS cmd="set" data="fr-ring=%(1500,3500,440)"/>
>>>> <X-PRE-PROCESS cmd="set"
>>>> data="hk-ring=%(400,200,440,480);%(400,3000,440,480)"/>
>>>> <X-PRE-PROCESS cmd="set" data="hu-ring=%(1250,3750,425)"/>
>>>> <X-PRE-PROCESS cmd="set" data="il-ring=%(1000,3000,400)"/>
>>>> <X-PRE-PROCESS cmd="set"
>>>> data="in-ring=%(400,200,425,375);%(400,2000,425,375)"/>
>>>> <X-PRE-PROCESS cmd="set" data="jp-ring=%(1000,2000,420,380)"/>
>>>> <X-PRE-PROCESS cmd="set" data="ko-ring=%(1000,2000,440,480)"/>
>>>> <X-PRE-PROCESS cmd="set" data="pk-ring=%(1000,2000,400)"/>
>>>> <X-PRE-PROCESS cmd="set" data="pl-ring=%(1000,4000,425)"/>
>>>> <X-PRE-PROCESS cmd="set" data="ro-ring=%(1850,4150,475,425)"/>
>>>> <X-PRE-PROCESS cmd="set" data="rs-ring=%(1000,4000,425)"/>
>>>> <X-PRE-PROCESS cmd="set" data="ru-ring=%(800,3200,425)"/>
>>>> <X-PRE-PROCESS cmd="set" data="sa-ring=%(1200,4600,425)"/>
>>>> <X-PRE-PROCESS cmd="set" data="tr-ring=%(2000,4000,450)"/>
>>>> <X-PRE-PROCESS cmd="set"
>>>> data="uk-ring=%(400,200,400,450);%(400,2000,400,450)"/>
>>>> <X-PRE-PROCESS cmd="set" data="us-ring=%(2000,4000,440,480)"/>
>>>> <X-PRE-PROCESS cmd="set"
>>>> data="bong-ring=v=-7;%(100,0,941.0,1477.0);v=-7;>=2;+=.1;%(1400,0,350,440)"/>
>>>> <X-PRE-PROCESS cmd="set" data="beep=%(1000,0,640)"/>
>>>> <X-PRE-PROCESS cmd="set"
>>>> data="sit=%(274,0,913.8);%(274,0,1370.6);%(380,0,1776.7)"/>
>>>>
>>>>
>>>> <X-PRE-PROCESS cmd="set" data="default_provider=example.com"/>
>>>> <X-PRE-PROCESS cmd="set" data="default_provider_username=joeuser"/>
>>>> <X-PRE-PROCESS cmd="set" data="default_provider_password=password"/>
>>>> <X-PRE-PROCESS cmd="set" data="default_provider_from_domain=
>>>> example.com"/>
>>>>
>>>>
>>>>
>>>> <X-PRE-PROCESS cmd="set" data="default_provider_register=false"/>
>>>> <X-PRE-PROCESS cmd="set" data="default_provider_contact=5000"/>
>>>>
>>>> <X-PRE-PROCESS cmd="set" data="sip_tls_version=tlsv1"/>
>>>>
>>>>
>>>> <X-PRE-PROCESS cmd="set" data="internal_auth_calls=true"/>
>>>> <X-PRE-PROCESS cmd="set" data="internal_sip_port=5060"/>
>>>> <X-PRE-PROCESS cmd="set" data="internal_tls_port=5061"/>
>>>> <X-PRE-PROCESS cmd="set" data="internal_ssl_enable=false"/>
>>>>
>>>> <X-PRE-PROCESS cmd="set" data="external_auth_calls=false"/>
>>>> <X-PRE-PROCESS cmd="set" data="external_sip_port=5080"/>
>>>> <X-PRE-PROCESS cmd="set" data="external_tls_port=5081"/>
>>>> <X-PRE-PROCESS cmd="set" data="external_ssl_enable=false"/>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Mon, May 20, 2013 at 4:49 PM, Philippe Le Toquin <philippe at ppmt.org>wrote:
>>>>
>>>>> I am no expert so I could be wrong but:
>>>>>
>>>>> First your outbound is no registered (NOREG) so that is most likely
>>>>> going to prevent outgoing call
>>>>>
>>>>> Also you refer to default_gateway in your dialplan....what value is it
>>>>> set to? Check vars.xmls
>>>>>
>>>>> I normally use directly the name of my gateway instead of using
>>>>> variable (might not be the best way though )
>>>>>
>>>>>
>>>>>
>>>>> But you have the
>>>>> On 13-05-19 11:39 PM, Mike Hendrie wrote:
>>>>>
>>>>> Thank you for your response. Per your request here is the result of
>>>>> the sofia status command:
>>>>>
>>>>> freeswitch at internal> sofia status
>>>>> Name Type
>>>>> Data State
>>>>>
>>>>> =================================================================================================
>>>>> 10.1.1.5 alias
>>>>> internal ALIASED
>>>>> internal profile
>>>>> sip:mod_sofia at 10.1.1.5:5060 RUNNING (0)
>>>>> external profile
>>>>> sip:mod_sofia at 10.1.1.5:5080 RUNNING (0)
>>>>> external::example.com gateway
>>>>> sip:joeuser at example.com NOREG
>>>>> external::BatCave-inbound gateway
>>>>> sip:J0k3R!@BacCave.hole.Xom REGED
>>>>> external::BatCat-outbound gateway sip:J0k3R!@BacCave.hole.Xom
>>>>> NOREG
>>>>> GothamCity.xom alias
>>>>> internal ALIASED
>>>>> internal-ipv6 profile
>>>>> sip:mod_sofia@[::1]:5060 RUNNING (0)
>>>>>
>>>>> =================================================================================================
>>>>> 3 profiles 2 aliases
>>>>>
>>>>>
>>>>> ==========================================
>>>>> /usr/local/freeswitch/conf/dialplan/default/GothamCity.xom.xml
>>>>>
>>>>> <!-- http://wiki.freeswitch.org/wiki/Dialplan_XML -->
>>>>> <include>
>>>>> <context name="GothamCity.xom">
>>>>> <extension name="vitel-inbound">
>>>>> <condition field="destination_number" expression="">
>>>>> <action application="transfer" data="1000 XML default"/>
>>>>> </condition>
>>>>> </extension>
>>>>> ==========================================
>>>>>
>>>>> /usr/local/freeswitch/conf/dialplan/default/GothamCity.xom.xml
>>>>>
>>>>> <include>
>>>>>
>>>>> <extension name="local.example.com">
>>>>> <condition field="${toll_allow}" expression="local"/>
>>>>> <condition field="destination_number" expression="^(\d{7})$">
>>>>> <action application="set"
>>>>> data="effective_caller_id_number=${outbound_caller_id_number}"/>
>>>>> <action application="set"
>>>>> data="effective_caller_id_name=${outbound_caller_id_name}"/>
>>>>> <action application="bridge"
>>>>> data="sofia/gateway/${default_gateway}/1${default_areacode}$1"/>
>>>>> </condition>
>>>>> </extension>
>>>>>
>>>>> <extension name="domestic.example.com">
>>>>> <condition field="${toll_allow}" expression="domestic"/>
>>>>> <condition field="destination_number" expression="^(\d{11})$">
>>>>> <action application="set"
>>>>> data="effective_caller_id_number=${outbound_caller_id_number}"/>
>>>>> <action application="set"
>>>>> data="effective_caller_id_name=${outbound_caller_id_name}"/>
>>>>> <action application="bridge"
>>>>> data="sofia/gateway/${default_gateway}/$1"/>
>>>>> </condition>
>>>>> </extension>
>>>>>
>>>>> <extension name="international.example.com">
>>>>> <condition field="${toll_allow}" expression="international"/>
>>>>> <condition field="destination_number" expression="^(011\d+)$">
>>>>> <action application="set"
>>>>> data="effective_caller_id_number=${outbound_caller_id_number}"/>
>>>>> <action application="set"
>>>>> data="effective_caller_id_name=${outbound_caller_id_name}"/>
>>>>> <action application="bridge"
>>>>> data="sofia/gateway/${default_gateway}/$1"/>
>>>>> </condition>
>>>>> </extension>
>>>>>
>>>>> </include>
>>>>>
>>>>> ==========================================
>>>>> /usr/local/freeswitch/conf/sip_profiles/external/vitelity.xml
>>>>>
>>>>> <include>
>>>>> <gateway name="BatCave-outbound">
>>>>> <!--/// account username *required* ///-->
>>>>> <param name="username" value="Joker"/>
>>>>> <!--/// auth realm: *optional* same as gateway name, if
>>>>> blank ///-->
>>>>> <param name="realm" value="BatCave-outbound"/>
>>>>> <!--/// account password *required* ///-->
>>>>> <param name="password" value="2F at ce"/>
>>>>> <!--/// extension for inbound calls: *optional* same as
>>>>> username, if blank ///-->
>>>>> <param name="extension" value="default"/>
>>>>> <!--/// proxy host: *optional* same as realm, if blank
>>>>> ///-->
>>>>> <param name="proxy" value="outbound1.BatCave.net"/>
>>>>> <!--/// expire in seconds: *optional* 3600, if blank ///-->
>>>>> <param name="expire-seconds" value="600"/>
>>>>> <!--/// register: *optional* true, if blank ///-->
>>>>> <param name="register" value="false" />
>>>>> </gateway>
>>>>> </include>
>>>>>
>>>>>
>>>>> <include>
>>>>> <gateway name="BatCave-inbound">
>>>>> <!--/// account username *required* ///-->
>>>>> <param name="username" value="Joker"/>
>>>>> <!--/// auth realm: *optional* same as gateway name, if
>>>>> blank ///-->
>>>>> <param name="realm" value="BatCave-inbound"/>
>>>>> <!--/// account password *required* (do not include
>>>>> allow=all) ///-->
>>>>> <param name="password" value="2F at ce"/>
>>>>> <!--/// extension for inbound calls: *optional* same as
>>>>> username, if blank ///-->
>>>>> <param name="extension" value="default"/>
>>>>> <!--/// proxy host: *optional* same as realm, if blank
>>>>> ///-->
>>>>> <param name="proxy" value="Yup.Not.REAL.Port"/>
>>>>> <!--/// expire in seconds: *optional* 3600, if blank ///-->
>>>>> <param name="expire-seconds" value="600"/>
>>>>> <param name="context" value="inbound"/>
>>>>> <!--/// register: *optional* true, if blank ///-->
>>>>> <param name="register" value="true" />
>>>>> </gateway>
>>>>> </include>
>>>>>
>>>>> ==========================================
>>>>> /usr/local/freeswitch/conf/directory/GothamCity.xom/1000.xml
>>>>>
>>>>> <include>
>>>>> <user id="1000">
>>>>> <params>
>>>>> <param name="password" value="$${default_password}"/>
>>>>> <param name="vm-password" value="1000"/>
>>>>> </params>
>>>>> <variables>
>>>>> <variable name="toll_allow"
>>>>> value="domestic,international,local"/>
>>>>> <variable name="accountcode" value="1000"/>
>>>>> <!-- <variable name="user_context" value="default"/>-->
>>>>> <variable name="effective_caller_id_name" value="Extension
>>>>> 1000"/>
>>>>> <variable name="effective_caller_id_number" value="1000"/>
>>>>> <variable name="outbound_caller_id_name"
>>>>> value="$${outbound_caller_name}"/>
>>>>> <variable name="outbound_caller_id_number"
>>>>> value="$${outbound_caller_id}"/>
>>>>> <variable name="callgroup" value="techsupport"/>
>>>>> </variables>
>>>>> </user>
>>>>> </include>
>>>>>
>>>>> ==========================================
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _________________________________________________________________________
>>>>> Professional FreeSWITCH Consulting Services:consulting at freeswitch.orghttp://www.freeswitchsolutions.com
>>>>>
>>>>> FreeSWITCH-powered IP PBX: The CudaTel Communication Server
>>>>>
>>>>> Official FreeSWITCH Siteshttp://www.freeswitch.orghttp://wiki.freeswitch.orghttp://www.cluecon.com
>>>>>
>>>>> FreeSWITCH-users mailing listFreeSWITCH-users at lists.freeswitch.orghttp://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://www.freeswitch.org
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _________________________________________________________________________
>>>>> Professional FreeSWITCH Consulting Services:
>>>>> consulting at freeswitch.org
>>>>> http://www.freeswitchsolutions.com
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Official FreeSWITCH Sites
>>>>> http://www.freeswitch.org
>>>>> http://wiki.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
>>>>>
>>>>>
>>>>
>>>
>>> _________________________________________________________________________
>>> Professional FreeSWITCH Consulting Services:
>>> consulting at freeswitch.org
>>> http://www.freeswitchsolutions.com
>>>
>>>
>>>
>>>
>>> Official FreeSWITCH Sites
>>> http://www.freeswitch.org
>>> http://wiki.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
>>>
>>>
>>
>>
>> --
>> Michael S Collins
>> Twitter: @mercutioviz
>> http://www.FreeSWITCH.org
>> http://www.ClueCon.com
>> http://www.OSTAG.org
>>
>>
>> _________________________________________________________________________
>> Professional FreeSWITCH Consulting Services:
>> consulting at freeswitch.org
>> http://www.freeswitchsolutions.com
>>
>>
>>
>>
>> Official FreeSWITCH Sites
>> http://www.freeswitch.org
>> http://wiki.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
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20130521/42f4163f/attachment-0001.html
Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users
mailing list