[Freeswitch-users] Routing based on CID Name

David S. Dee dsdee at dsba.net
Fri Jul 24 01:36:33 MSD 2015


Hello;

I've been a freeswitch user for some time, but I am finally getting
around to trying to get idea working again.

I have an in-house CID lookup routine that works fine... it sets
caller_id_name and effective_caller_id_name and those modified names
show up fine on my telephones when the calls come in.

That lookup routine adds a prefix of TM: if its a telemarketer, or VM:
if i want the caller to go directly to voicemail...  Basically, if the
original CID from my provider shows up as "FOO Marketing", then after
the cid-extension runs, the caller_id_name and effective_caller_name to
"TM:FOO Marketing"....

What is -not- working is the routing.

I have an extension right after the CID Lookup that I want to do the
routing directly to voicemail.   Watching the debug logs, it appears
that the field is already parsed and is set to the *original* callerid
name that was available when the call came in...   Trying different
variations of field="caller_id_name" and field="${caller_id_name}" (and
same with effective_caller_id_name) still yields no joy.

Any guidance?   The snippets from my dialplan are below.

Thanks!


<extension name="CID Inbound Lookup" continue="true">        <condition
field="ani" expression="(\d{10})">            <action application="log"
data="INFO In CID Inbound Lookup '$1' -- The Second Time"/>
<action application="log" data="INFO CIDLookup(before): CID Num:
'${caller_id_number}' CID Name: '${caller_id_name}' Orig CID Name:
'${original_caller_id_name}' Dest: '${destination_number}'"/>

<action application="set" data="url=num=${caller_id_number}&name=${url_-
encode(${caller_id_name})}&did=${destination_number}"/>
<action application="log" data="INFO CIDLookup(before): url: '${url}'"/>

<action application="curl" data="
http://MYDOMAIN.com/MYCIDLOOKUP.php?${url}"/[1]>            <action
application="info"/>

<action application="log" data="INFO CIDLookup(after ):
curl_response_code: ${curl_response_code}"/>            <action
application="log" data="INFO CIDLookup(after ): curl_response_data:
${curl_response_data}"/>

<action application="set" data="caller_id_name=${curl_response_data}"/>
<action application="set"
data="effective_caller_id_name=${curl_response_data}"/>


<action application="log" data="INFO CIDLookup(after ): CID Num:
'${caller_id_number}' CID Name: '${caller_id_name}' Orig CID Name:
'${original_caller_id_name}' Dest: '${destination_number}'"/>
<action application="log" data="INFO CIDLookup(after ): caller_id_name:
'${caller_id_name}', original_caller_id_name:
'${original_caller_id_name}', effective_caller_id_name:
'${effective_caller_id_name}'" />

<!-- This event will be picked up by HB-Bot for announcing -->
<action application="event" data="Event-Name=CUSTOM,Event-
Subclass=CallAnnounce,ani=${destination_number},cidnum=${caller_id_numb-
er},cidname=${caller_id_name}"/>

</condition>    </extension> and here are my test cases that are *right*
after the above... but yet can't pick up the change in variables.  *ONE*
of these (I expect '3b' or '1') should fire... none do.



<extension name="cid_test_0" continue="true">       <condition
field="original_caller_id_name" expression="TM" >            <action
application="log" data="INFO cid_test_0: :
'${original_caller_id_name}'"/>       </condition>    </extension>

<extension name="cid_test_1" continue="true">       <condition
field="caller_id_name" expression="TM" >            <action
application="log" data="INFO cid_test_1: : '${caller_id_name}'"/>
</condition>    </extension>

<extension name="cid_test_2" continue="true">       <condition
field="effective_caller_id_name" expression="TM" >            <action
application="log" data="INFO cid_test_2: :
'${effective_caller_id_name}'"/>       </condition>    </extension>

<extension name="cid_test_3" continue="true">       <condition
field='${caller_id_name}' expression="TM" >            <action
application="log" data="INFO cid_test_3: : '${caller_id_name}'"/>
</condition>    </extension>

<extension name="cid_test_3b" continue="true">       <condition
field="${caller_id_name}" expression="TM" >            <action
application="log" data="INFO cid_test_3b: : '${caller_id_name}'"/>
</condition>    </extension>

<extension name="cid_test_4" continue="true">       <condition
field='${effective_caller_id_name}' expression="TM" >            <action
application="log" data="INFO cid_test_4: :
'${effective_caller_id_name}'"/>       </condition>    </extension>

<extension name="cid_test_5" continue="true">       <condition
field='${effective_caller_id_name}' expression="TM" >            <action
application="log" data="INFO cid_test_5: :
'${effective_caller_id_name}'"/>       </condition>    </extension>


Links:

  1. http://www.dsba.net/voip/cidlookup.php?${url}"/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20150723/d8e1800c/attachment.html 


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list