[asterisk-users] Asterisk Inbound calls, multiple SIP accounts, calledID
Dmitriy Serov
serov.d.p at gmail.com
Wed Apr 8 00:45:04 CDT 2015
Hi, Andrew.
You are trying to solve two tasks: definition through what line the call
came and a beautiful display of this information.
1. definition through what line the call came. If the username and
password for inbound and outbound registration the same, then try the
following:
a) delete "register" lines.
b) add option "callbackextension=Company1" to Company1 friend section..
And in others with their names too.
or you can change "/s" to "/Company1" in register line.
2. beautiful display of this information
a) add option "setvar=fromCompany=Company1" to Company1 friend section..
b) In dialplan add
Set(CALLERID(name)=${fromCompany} ${CALLERID(name)})
Maybe this will help?
Dmitiy.
08.04.2015 2:48, Andrew Galdes пишет:
> 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)
>
>
>
> -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
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20150408/5c0d69b9/attachment.html>
More information about the asterisk-users
mailing list