[Freeswitch-users] Cannot ring extension from DID

Michael Collins msc at freeswitch.org
Wed May 22 01:37:27 MSD 2013


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20130521/cc5f8e1d/attachment-0001.html 


Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list