[Freeswitch-users] problems with Faktortel (AU) and multiple DID's and extensions

David Robinson pawzlion at gmail.com
Tue Apr 7 06:46:57 PDT 2009


I have been trying to setup 2 DID's to route to 2 extensions but 
whenever I try it, the second configured DID always routes to the first 
extension.

In my public.xml I have the following:

<include>
  <context name="public">

    <extension name="DID 1">
        <condition field="destination_number" expression="^(0746029000)$">
            <action application="transfer" data="1000 XML default"/>
        </condition>
    </extension>

    <extension name="DID 2">
        <condition field="destination_number" expression="^(0746029002)$">
            <action application="transfer" data="1001 XML default"/>
        </condition>
    </extension>

.... rest of file continues here ...


While in my default.xml I have this:

<include>
  <context name="default">

    <extension name="David">
        <condition field="destination_number" 
expression="^(0746029000)$" continue="on-true">
            <action application="set" data="dialed_ext=$1" />
        </condition>
        <condition field="destination_number" 
expression="^${caller_id_number}$">
            <action application="set" 
data="voicemail_authorized=${sip_authorized}"/>
            <action application="answer"/>
            <action application="sleep" data="1000"/>
            <action application="voicemail" data="check default 
$${domain} ${dialed_ext}"/>
            <anti-action application="ring_ready"/>
            <anti-action application="set" data="call_timeout=10"/>
            <anti-action application="set" data="hangup_after_bridge=true"/>
            <anti-action application="set" data="continue_on_fail=true"/>
            <anti-action application="bridge" data="USER/1000@$${domain}"/>
            <anti-action application="answer"/>
            <anti-action application="sleep" data="1000"/>
            <anti-action application="voicemail" data="default 
$${domain} ${dialed_ext}"/>          
        </condition>
    </extension>

    <extension name="Jake">
        <condition field="destination_number" 
expression="^(0746029001)$" continue="on-true">
            <action application="set" data="dialed_ext=$2" />
        </condition>
        <condition field="destination_number" 
expression="^${caller_id_number}$">
            <action application="set" 
data="voicemail_authorized=${sip_authorized}"/>
            <action application="answer"/>
            <action application="sleep" data="1000"/>
            <action application="voicemail" data="check default 
$${domain} ${dialed_ext}"/>
            <anti-action application="ring_ready"/>
            <anti-action application="set" data="call_timeout=10"/>
            <anti-action application="set" data="hangup_after_bridge=true"/>
            <anti-action application="set" data="continue_on_fail=true"/>
            <anti-action application="bridge" data="USER/1001@$${domain}"/>
            <anti-action application="answer"/>
            <anti-action application="sleep" data="1000"/>
            <anti-action application="voicemail" data="default 
$${domain} ${dialed_ext}"/>          
        </condition>
    </extension>


    <extension name="outgoing - voicepulse">
        <condition field="destination_number" expression="^(1{0,1}\d{10})$">
            <action application="set" 
data="effective_caller_id_number=0746029000"/>
            <action application="bridge" 
data="sofia/gateway/voicepulse/$1"/>
        </condition>
    </extension>

.. file continues here ...

I got my new friend swk to try and diagnose the problem and using ngrep 
he found with ngrep that the incoming call to the second extension 
looked like this:

U 203.161.130.133:5060 -> 10.0.0.12:5080
  INVITE sip:gw+voicepulse at 10.0.0.12:5080;transport=udp SIP/2.0..Via: 
SIP/2.0/UDP 203.161.130.133:5060;branch=z9hG4bK75f53071;rport..From: 
"0451282630" <sip:
  0451282630 at 203.161.130.133>;tag=as555c5b50..To: 
<sip:gw+voicepulse at 124.254.94.41:5080;transport=udp>..Contact: 
<sip:0451282630 at 203.161.130.133>..Call-ID: 7
  47befb63a2def723e6796294853cc22 at 203.161.130.133..CSeq: 102 
INVITE..User-Agent: Asterisk PBX..Max-Forwards: 70..Date: Tue, 07 Apr 
2009 08:18:23 GMT..Allow:
  INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, 
NOTIFY..Supported: replaces..Content-Type: 
application/sdp..Content-Length: 290....v=0..o=root 1244 12
  44 IN IP4 203.161.130.133..s=session..c=IN IP4 203.161.130.133..t=0 
0..m=audio 13806 RTP/AVP 18 3 101..a=rtpmap:18 G729/8000..a=fmtp:18 
annexb=no..a=rtpmap
  :3 GSM/8000..a=rtpmap:101 telephone-event/8000..a=fmtp:101 
0-16..a=silenceSupp:off - - - -..a=ptime:20..a=sendrecv..

He says that the INVITE line should have a DNIS (not sure what that is) 
in that field to indicate which number to route it to but that for some 
reason, my provider (Faktortel in Australia) is not supplying that 
information.

Does anyone know whether the problem is really at my provider's end or 
at my end, and if it's at my end, where ?

thanks,
pawz



More information about the Freeswitch-users mailing list