[asterisk-users] Asterisk Inbound calls, multiple SIP accounts, calledID
Andres
andres at telesip.net
Tue Apr 7 21:35:01 CDT 2015
On 4/7/15 7:48 PM, Andrew Galdes wrote:
> Hi Dmitriy and others and thanks for your help so far.
>
> The option "match_auth_username=yes" seems to have had no effect. From
> my reading, this option will try to match the username of the incoming
> SIP account to a section heading. If that is how it must work then i
> can see a big problem. I'm trying to present the receptionist with a
> nice display of which line the call came in on. For example, the
> receptionist answers calls for 8 different companies and would like
> the phone to display the company name that she should announce to the
> caller.
>
> Here is a more complete output of an incoming call. I've changed the
> SIP numbers to "Company1', etc, to hide the numbers.
>
> Connected to Asterisk 10.12.4 currently running on asterisk (pid =
> 32267)
> Verbosity is at least 12
> asterisk*CLI>
> asterisk*CLI>
> asterisk*CLI>
> == Using SIP RTP CoS mark 5
> -- Executing [s at incoming:1] *Set*("*SIP/Company1-00000797*",
> "*thedid=""NodePhone"<sip:Company2 at sip.internode.on.net
> <mailto:sip%3ACompany2 at sip.internode.on.net>>"*") in new stack
> -- Executing [s at incoming:2]
> *Set*("*SIP/**Company1**-00000797*",
> "*pseudodid="NodePhone"<sip:** sip:Company2**@sip.internode.on.net
> <http://sip.internode.on.net>>*") in new stack
> -- Executing [s at incoming:3]
> *Set*("*SIP/**Company1**-00000797*",
> "*pseudodid="NodePhone"<sip:** sip:Company2*") in new stack
> -- Executing [s at incoming:4]
> *Set*("*SIP/**Company1**-00000797*",
> "*pseudodid=** sip:Company2*") in new stack
> -- Executing [s at incoming:5]
> *GotoIf*("*SIP/**Company1**-00000797*", "*0?internal,33,1:6*") in
> new stack
> -- Goto (incoming,s,6)
> -- Executing [s at incoming:6]
> *GotoIf*("*SIP/**Company1**-00000797*", "*0?internal,88,1:7*") in
> new stack
> -- Goto (incoming,s,7)
> -- Executing [s at incoming:7]
> *GotoIf*("*SIP/**Company1**-00000797*", "*0?internal,36,1:8*") in
> new stack
> -- Goto (incoming,s,8)
> -- Executing [s at incoming:8]
> *GotoIf*("*SIP/**Company1**-00000797*", "*1?internal,36,1:9*") in
> new stack
> -- Goto (internal,36,1)
> -- Executing [36 at internal:1]
> *Set*("*SIP/**Company1**-00000797*",
> "*CALLERID(name)=SIP/**Company1**-00000797*") in new stack
> -- Executing [36 at internal:2]
> *Dial*("*SIP/**Company1**-00000797*", "*SIP/36,20*") in new stack
> == Using SIP RTP CoS mark 5
> -- Called SIP/36
> -- SIP/36-00000798 is ringing
> == Spawn extension (internal, 36, 2) exited non-zero on
> 'SIP/Company1-00000797'
> asterisk*CLI> exit
>
>
> And here is the "sip.conf":
>
> [general]
> match_auth_username=yes
> register=081...:... at sip.internode.on.net/s
> <http://081...:...@sip.internode.on.net/s>
> register=082...:... at sip.internode.on.net/s
> <http://082...:...@sip.internode.on.net/s>
> register=083...:... at sip.internode.on.net:/s
> register=084...:... at sip.internode.on.net:/s
> register=085...:... at sip.internode.on.net/s
> <http://085...:...@sip.internode.on.net/s>
> register=086...:... at sip.internode.on.net/s
> <http://086...:...@sip.internode.on.net/s>
> register=087...:... at sip.internode.on.net/s
> <http://087...:...@sip.internode.on.net/s>
> register=088...:... at sip.internode.on.net/s
> <http://088...:...@sip.internode.on.net/s>
>
> [Company1]
> username=081...
> fromuser=081...
> secret=...
> canreinvite=no
> qualify=yes
> context=incoming
> type=friend
> insecure=invite,port
> fromdomain=sip.internode.on.net <http://sip.internode.on.net>
> host=sip.internode.on.net <http://sip.internode.on.net>
> dtmfmode=rfc2833
> disallow=all
> allow=alaw
> allow=ulaw
> allow=g729
> bindport=5060
> bindaddr=0.0.0.0
> nat=yes
> registertimeout=5
> allowoverlap=no
> srvlookup=no
> ubscribecontext=from-sip
> callcounter=yes
>
> [Company2]
> ...
> [Company3]
> ...
> [Company4]
> ...
>
> And here is some of the "extensions.conf" file:
>
> [incoming]
> ; Get the DID number from the TO header.
> exten => s,1,Set(thedid="${SIP_HEADER(TO)}")
> exten => s,2,Set(pseudodid=${SIP_HEADER(To)})
> exten => s,3,Set(pseudodid=${CUT(pseudodid,@,1)})
> exten => s,4,Set(pseudodid=${CUT(pseudodid,:,2)})
>
>
> ; Direct the DID accordingly.
> exten => s,5,GotoIf($["${pseudodid}" = "081"]?internal,33,1:6)
> exten => s,6,GotoIf($["${pseudodid}" = "082"]?internal,88,1:7)
> exten => s,7,GotoIf($["${pseudodid}" = "083"]?internal,36,1:8)
> exten => s,8,GotoIf($["${pseudodid}" = "084"]?internal,36,1:9)
> exten => s,9,GotoIf($["${pseudodid}" = "085"]?internal,36,1:10)
> exten => s,10,GotoIf($["${pseudodid}" = "086"]?internal,89,1:11)
> exten => s,11,GotoIf($["${pseudodid}" = "087"]?internal,36,1:12)
> exten => s,12,GotoIf($["${pseudodid}" = "088"]?internal,13,1:13)
>
>
Since your objective is to have the receptionist identify the company
she should be answering to then might I suggest a simple workaround to
your problem. Since right here you are already sending the call to the
expected internal context and extension, you could simply alter the
Caller Name and put in the Company Name so she could see it on the
screen. Something like:
[internal]
exten => 33,1,Set(CALLERID(name)=Company1:${CALLERID})
...
exten => 88,1,Set(CALLERID(name)=Company2:${CALLERID})
...
exten => 36,1,Set(CALLERID(name)=Company3:${CALLERID})
...
etc...
That will display the Company Name you want to see followed by the
caller ID #
>
> -Andrew Galdes
>
>
> On Thu, Apr 2, 2015 at 3:46 PM, Dmitriy Serov <serov.d.p at gmail.com
> <mailto:serov.d.p at gmail.com>> wrote:
>
>
> This is one of the chronic problems. Try this option in sip.conf:
> match_auth_username=yes
>
> Carefully read the description, it is better to test in "after hours".
>
> 02.04.2015 2:50, Andrew Galdes пишет:
>> Hello all,
>>
>> I have an Asterisk server (Asterisk 10.12.4) with multiple sip
>> accounts with the same service provides. We have 8 phone numbers
>> in total.
>>
>> Incoming calls from the public are all correctly directed to
>> appropriate office handsets. However, the display on the
>> reception phone (the only one i care about) is always showing the
>> same "SIP/Account1_0843214321" rather than the account
>> representing the number dialed.
>>
>> For-instance, if Sam on her mobile calls "*0811111111*", Asterisk
>> will show a log entry like the following:
>>
>> -- Executing [s at incoming:1] Set("SIP/*Account1_0822222222*",
>> "thedid=""NodePhone"<sip:*0811111111*@sip.internode.on.net
>> <http://sip.internode.on.net>>"") in new stack
>>
>> But "Account1_*0822222222*" (as the name suggests) has a phone
>> number of "*0822222222*" and not "*0811111111*".
>>
>> So Sam's call will come through and be routed to the correct
>> handset as the business needs, but it seems that all incoming
>> calls are being labeled as though coming in on a different
>> account. The effective problem is that the calledID is now wrong.
>>
>> I'm after some general advice on how to handle the problem.
>>
>> Ta,
>>
>>
>> -Andrew
>>
>>
>
>
> --
> _____________________________________________________________________
> -- 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
>
>
>
>
--
Technical Support
http://www.cellroute.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20150407/5d9e1a17/attachment-0001.html>
More information about the asterisk-users
mailing list