[Freeswitch-users] Setting effecting_caller_id_name
Phil Quesinberry
philq at qsystemsengineering.com
Tue Jul 31 20:19:36 MSD 2012
Ok, the problem here is that the variable caller_id_name contains the Caller
ID number instead of the CNAM that was looked up. Is there a variable to
look at and change for the CNAM info? Info shows the CNAM info in
Caller-Caller-ID-Name but attempts to match on variations of that have
failed. Obviously I'm missing some basic piece of info here but I haven't
been able to find it, even within the FreeSwitch book.
I've pasted a small section of the relevant console output below.
I should also mention that I'm doing this check within public.xml since I
want it to apply to all incoming calls.
Thanks,
- Phil
2012-07-31 11:33:30.800571 [INFO] mod_dialplan_xml.c:485 Processing
4435551212 <4435551212>->4105551212 in context public
Dialplan: sofia/external/4435551212 at 140.239.xx.x parsing
[public->outside_call] continue=true
Dialplan: sofia/external/4435551212 at 140.239.xx.x Absolute Condition
[outside_call]
Dialplan: sofia/external/4435551212 at 140.239.xx.x Regex (PASS) [outside_call]
${module_exists(mod_cidlookup)}(true) =~ /true/ break=on-false
Dialplan: sofia/external/4435551212 at 140.239.xx.x Regex (PASS) [outside_call]
caller_id_name(4435551212) =~ /^4435551212$|^$/ break=on-false
Dialplan: sofia/external/4435551212 at 140.239.xx.x Regex (PASS) [outside_call]
caller_id_number(4435551212) =~ /^1?([2-9]\d\d[2-9]\d{6})$/ break=on-false
Dialplan: sofia/external/4435551212 at 140.239.xx.x Action
cidlookup(4435551212)
Dialplan: sofia/external/4435551212 at 140.239.xx.x parsing
[public->fix_cidnam_plus] continue=true
Dialplan: sofia/external/4435551212 at 140.239.xx.x Regex (FAIL)
[fix_cidnam_plus] caller_id_name(4435551212) =~
/^\+1?([2-9]\d\d[2-9]\d{6})$/ break=on-false
Dialplan: sofia/external/4435551212 at 140.239.xx.x parsing
[public->currently_running] continue=true
Dialplan: sofia/external/4435551212 at 140.239.xx.x Absolute Condition
[currently_running]
Dialplan: sofia/external/4435551212 at 140.239.xx.x Action info()
Dialplan: sofia/external/4435551212 at 140.239.xx.x Regex (FAIL)
[currently_running] caller_id_name(4435551212) =~ /^Currently running a
lookup/ break=on-false
Caller-Direction: [inbound]
Caller-Username: [4435551212]
Caller-Dialplan: [XML]
Caller-Caller-ID-Name: [SMITH,JOHN]
Caller-Caller-ID-Number: [4435551212]
Caller-Network-Addr: [140.239.xx.x]
Caller-ANI: [4435551212]
Caller-Destination-Number: [4105551212]
_____________________________________________
From: Phil Quesinberry
Sent: Thursday, July 26, 2012 10:29 PM
To: 'freeswitch-users at lists.freeswitch.org'
Subject: RE: Setting effecting_caller_id_name
The reply is different each time, depending upon the number being looked up.
So, I just want to look at the first part of the string. If FS can't do a
regex match without the trailing $, I'm guessing there's a way to just do it
in XML.
I'll try and see what I can find after the storm passes unless you have a
better idea, I need to shut this computer down right now.
Thanks,
- Phil
You can just not use a regex.
Do you need to escape the spaces?
Brian Foster
Endigo Computer LLC
_____________________________________________
From: Phil Quesinberry
Sent: Thursday, July 26, 2012 5:46 PM
To: 'freeswitch-users at lists.freeswitch.org'
Subject: RE: Setting effecting_caller_id_name
If you put the $ at the end then it will try to match the entire string
instead of just the beginning of it, which won't work in this case. Is
there a way to match just the beginning of the string in FS?
Thanks,
- Phil
You need a $ after 'lookup' for it to be a regex.
Brian Foster
Endigo Computer LLC
_____________________________________________
From: Phil Quesinberry
Sent: Thursday, July 26, 2012 3:59 PM
To: 'freeswitch-users at lists.freeswitch.org'
Subject: Setting effecting_caller_id_name
And while I'm asking dumb questions.
When doing CNAM dips from opencnam.com, often you get a result of "Currently
running a lookup for phone 'xxxxxxxxxx'. on incoming calls, typically for
wireless or other unknown name callers and I wanted to change that to
"Wireless/Unknown" Since caller_id_name is apparently read-only, I am
attempting to set effective_caller_id_name. I put the following in
public.xml right below the "fix_cidnam_plus" entry, in other words after a
CNAM lookup has been performed.
<extension name="fix_currently_running" continue="true">
<condition field="caller_id_name" expression="^Currently running a
lookup">
<action application="set"
data="effective_caller_id_name=Wireless/Unknown"/>
</condition>
</extension>
If I crafted my regex properly, then it should be matching on the first part
of the string and setting the variable appropriately. Is
'effective_caller_id_name' the variable I should be setting?
Many thanks,
Phil Quesinberry
Q Systems Engineering, Inc.
Electronic Controls and Embedded Systems Development
(410) 969-8002
http://www.qsystemsengineering.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20120731/760dd4e8/attachment-0001.html
Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users
mailing list