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@incoming:1] *Set*("*SIP/Company1-00000797*",
"*thedid=""NodePhone"<sip:[email protected]
<mailto:sip%[email protected]>>"*") in new stack
-- Executing [s@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@incoming:3]
*Set*("*SIP/**Company1**-00000797*",
"*pseudodid="NodePhone"<sip:** sip:Company2*") in new stack
-- Executing [s@incoming:4]
*Set*("*SIP/**Company1**-00000797*",
"*pseudodid=** sip:Company2*") in new stack
-- Executing [s@incoming:5]
*GotoIf*("*SIP/**Company1**-00000797*", "*0?internal,33,1:6*") in
new stack
-- Goto (incoming,s,6)
-- Executing [s@incoming:6]
*GotoIf*("*SIP/**Company1**-00000797*", "*0?internal,88,1:7*") in
new stack
-- Goto (incoming,s,7)
-- Executing [s@incoming:7]
*GotoIf*("*SIP/**Company1**-00000797*", "*0?internal,36,1:8*") in
new stack
-- Goto (incoming,s,8)
-- Executing [s@incoming:8]
*GotoIf*("*SIP/**Company1**-00000797*", "*1?internal,36,1:9*") in
new stack
-- Goto (internal,36,1)
-- Executing [36@internal:1]
*Set*("*SIP/**Company1**-00000797*",
"*CALLERID(name)=SIP/**Company1**-00000797*") in new stack
-- Executing [36@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...:[email protected]/s
<http://081...:[email protected]/s>
register=082...:[email protected]/s
<http://082...:[email protected]/s>
register=083...:[email protected]:/s
register=084...:[email protected]:/s
register=085...:[email protected]/s
<http://085...:[email protected]/s>
register=086...:[email protected]/s
<http://086...:[email protected]/s>
register=087...:[email protected]/s
<http://087...:[email protected]/s>
register=088...:[email protected]/s
<http://088...:[email protected]/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 <[email protected]
<mailto:[email protected]>> 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@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