That solutions kind of works, but only for phone numbers that are in the format xxx-xxx-xxxx.  The records I am receiving from LDAP vary significantly because the user can control their entry.  So I can receiving mostly the following formats…

 

(xxx) xxx-xxxx

xxx xxx-xxxx

xxx-xxx-xxxx

 

Ideally, I’d like a function that would remove all characters but the numbers, but I haven’t found a way to do that.  If I were more fluent in C, I might write a module to do it.  Instead, I added some extensions to try to compensate for the common formats, and it looks like this…

 

[app-clean-ldap]

exten => _XXX-XXX-XXXX,1,SetVar(AreaCode=${EXTEN:0:3})

exten => _XXX-XXX-XXXX,2,SetVar(Prefix=${EXTEN:4:3})

exten => _XXX-XXX-XXXX,3,SetVar(Suffix=${EXTEN:8:4})

exten => _XXX-XXX-XXXX,4,Goto(from-internal,91${AreaCode}${Prefix}${Suffix},1)

 

exten => _(XXX) XXX-XXXX,1,SetVar(AreaCode=${EXTEN:1:4})

exten => _(XXX) XXX-XXXX,2,SetVar(Prefix=${EXTEN:5:3})

exten => _(XXX) XXX-XXXX,3,SetVar(Suffix=${EXTEN:9:4})

exten => _(XXX) XXX-XXXX,4,Goto(from-internal,${AreaCode}${Prefix}${Suffix},1)

 

 

exten => _XXX XXX-XXXX,1,SetVar(AreaCode=${EXTEN:0:3})

exten => _XXX XXX-XXXX,2,SetVar(Prefix=${EXTEN:4:3})

exten => _XXX XXX-XXXX,3,SetVar(Suffix=${EXTEN:8:4})

exten => _XXX XXX-XXXX,4,Goto(from-internal,91${AreaCode}${Prefix}${Suffix},1)

 

 

My only problem now is that I can’t pattern match a space character in the last two sections.  I was able use a period as a wildcard to match the space, but that returns unexpected results if someone has more than one character in there.  Does anyone know how to match a space character in the dial plan?  Help is always appreciated.

 

Thanks,

Scott Miller

 


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Colin Anderson
Sent: Friday, September 23, 2005 2:47 PM
To: 'Asterisk Users Mailing List - Non-Commercial Discussion'
Subject: RE: [Asterisk-Users] Removing "-" (Dash) from Dialed Numbers

 

Not very elegant, but:

 

exten => 1,1,SetVar(MyNumber=780-555-1212)

exten => 1,2,SetVar(AreaCode=${MyNumber:3:3})

exten => 1,3,SetVar(Prefix=${MyNumber:5:7})

exten => 1,4,SetVar(Suffix=${MyNumber:8:11})

exten => 1,5,Dial(ZAP/g0/1${AreaCode}${Prefix}${Suffix})

 

hth

-----Original Message-----
From: Scott Miller [mailto:[EMAIL PROTECTED]
Sent: Friday, September 23, 2005 1:22 PM
To: [email protected]
Subject: [Asterisk-Users] Removing "-" (Dash) from Dialed Numbers

I am trying to enable dial-by-email by using LDAPget to query an Active Directory server.  I've got it retrieving the phone number fine.  Unforunately, the numbers stored in active directory are either in the format:  (xxx) xxx-xxxx or xxx-xxx-xxxx.   Is there any way to parse characters out of the dialed phone number so that I only end up with digits (remove spaces, parenthesis and dashes)?   From there, my outbound routes can take care of where to send the call.

 

Help is always appreciated! J 

 

Thank you,

Scott Miller

 

 

 

_______________________________________________
--Bandwidth and Colocation sponsored by Easynews.com --

Asterisk-Users mailing list
[email protected]
http://lists.digium.com/mailman/listinfo/asterisk-users
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to