[asterisk-users] Specifying DID for outbound calls

sean darcy seandarcy2 at gmail.com
Sun Dec 19 19:22:49 UTC 2010


On Sun, Dec 19, 2010 at 1:52 PM, William Stillwell
<william at stillwellsoft.com> wrote:
>
>
> -----Original Message-----
> From: asterisk-users-bounces at lists.digium.com
> [mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of Stephen Reese
> Sent: Sunday, December 19, 2010 12:49 PM
> To: Asterisk Users Mailing List - Non-Commercial Discussion
> Subject: Re: [asterisk-users] Specifying DID for outbound calls
>
>> You can check the channel-name to see which extension is making the
>> call and set the CallerID accordingly. The channel-name will be
>> something like "SIP/201-abc23ef34" or "SIP/User1-def34abc51". The 201
>> or User1 part depends on how you put the username in sip.conf  You can
>> use the CUT function to get the calling extension and then jump to the
>> correct CallerID. I've used something like this:
>>
>> [outgoing]
>> exten => _1NXXNXXXXXX,1,Set(Outgoing=${CUT(CHANNEL,/,2)})
>> exten => _1NXXNXXXXXX,n,Set(Outgoing=${CUT(Outgoing,-,1)})
>> exten => _1NXXNXXXXXX,n,GotoIf($["${Outgoing}" = "User2"]?20:10)
>> exten => _1NXXNXXXXXX,10,Set(CALLERID(num)=3012323434)
>> exten => _1NXXNXXXXXX,n,Set(CALLERID(name)="User1")
>> exten => _1NXXNXXXXXX,n,Dial(SIP/${EXTEN}@vitel-outbound)
>> exten => _1NXXNXXXXXX,n,Goto(h,1)
>> exten => _1NXXNXXXXXX,20,Set(CALLERID(num)=3013232322)
>> exten => _1NXXNXXXXXX,n,Set(CALLERID(name)="User2")
>> exten => _1NXXNXXXXXX,n,Dial(SIP/${EXTEN}@vitel-outbound)
>> exten => _1NXXNXXXXXX,n,Goto(h,1)
>>
>> But in my case I had two different domains. E.g.
>> Dial(SIP/${EXTEN}@provider-ID1) and Dial(SIP/${EXTEN}@provider-ID2)
>> instead of setting the CallerID.
>>
>> Not that the Cut doesn't work correctly if you use a minus-sign in the
> username.
>>
>> Best regards,
>> Jeroen Eeuwes
>
> Thanks Jeroen, though it is still not firing correct, I have provided
> a little more information.
>
> Here are the channel-names:
>
> SIP/201-0000000a
>
> SIP/101-00000012
>
> Here is the extension information from the sip.conf:
>
> [101]
> type=friend
> username=101
> secret=0000
> mailbox=101
> callerid="User One" <101>
> host=dynamic
> nat=yes
> dtmfmode=rfc2833
> canreinvite=no
> reinvite=no
> qualify=yes
>
> [201]
> type=friend
> username=201
> secret=0000
> mailbox=201
> callerid="User Two" <201>
> host=dynamic
> nat=yes
> dtmfmode=rfc2833
> canreinvite=no
> reinvite=no
> qualify=yes
>
> Here is the updated outgoing context that you provided with a few updates.
>
> [outgoing]
> exten => _1NXXNXXXXXX,1,Set(Outgoing=${CUT(CHANNEL,/,2)})
> exten => _1NXXNXXXXXX,n,Set(Outgoing=${CUT(Outgoing,-,1)})
> exten => _1NXXNXXXXXX,n,GotoIf($["${Outgoing}" = "User Two"]?20:10)
> exten => _1NXXNXXXXXX,10,Set(CALLERID(num)=3012323434)
> exten => _1NXXNXXXXXX,n,Set(CALLERID(name)="User One")
> exten => _1NXXNXXXXXX,n,Dial(SIP/${EXTEN}@vitel-outbound)
> exten => _1NXXNXXXXXX,n,Goto(h,1)
> exten => _1NXXNXXXXXX,20,Set(CALLERID(num)=3013232322)
> exten => _1NXXNXXXXXX,n,Set(CALLERID(name)="User Two")
> exten => _1NXXNXXXXXX,n,Dial(SIP/${EXTEN}@vitel-outbound)
> exten => _1NXXNXXXXXX,n,Goto(h,1)
>
> Based on the information above, what should be altered to correctly
> associated the number with the relevant extension?
>
> Thanks
>
>
> You can also just use an agi script to look up their current caller-id in a
> database, and set it to the correct caller-id needed.
>
> exten => _NXXNXXXXXX,1,AGI(getcid.pl,${CALLERID(NUM)},1)
> exten => _NXXNXXXXXX,n,Dial(SIP/+1${EXTEN}@ProviderX,60)
> exten => _NXXNXXXXXX,n,congestion()
>
> my getcid.pl expects two values, extension callerid, and a type.
>
> 911 gets 0, inhouse gets 1, outside 2 etc. (as I ust the getcid for
> different Dial() options.
>
> The script then looks up there "station" callerid, and set it to an
> apporiate value, 911 always gets local in house direct number, regular stuff
> gets a toll number, inhouse gets there extension number, and if there
> callerid is not found in the database it returns a 'default' value.
>
> This way every user can have multiple caller id's .
>
>
>
>
>
> --
> _____________________________________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
> New to Asterisk? Join us for a live introductory webinar every Thurs:
>               http://www.asterisk.org/hello
>
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-users
>

You're setting a callerid in sip.conf, so in extensions.conf why not:
if callerid(num) = 201, set callerid(num) = 3012323434 (or whatever)?

sean



More information about the asterisk-users mailing list