Andrew Galdes
2015-Apr-07 23:48 UTC
[asterisk-users] Asterisk Inbound calls, multiple SIP accounts, calledID
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 > <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> exitAnd here is the "sip.conf": [general]> match_auth_username=yes > register=081...:... at sip.internode.on.net/s > register=082...:... at 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 > register=086...:... at sip.internode.on.net/s > register=087...:... at sip.internode.on.net/s > register=088...:... at 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 > host=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> 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>"") 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/a5fca90a/attachment.html>
Andrew Galdes
2015-Apr-08 01:06 UTC
[asterisk-users] Asterisk Inbound calls, multiple SIP accounts, calledID
Solved it, kinda. It's not cute. I'm sure this is the way NOT to do it
but
it does work. For prosperity, the SIP service is through Internode.
Here is my "extensions.conf" file:
exten => s,1,Set(thedid="${SIP_HEADER(TO)}"); ignore this one
exten => s,2,Set(pseudodid=${SIP_HEADER(To)})
exten => s,3,Set(pseudodid=${CUT(pseudodid,@,1)})
exten => s,4,Set(pseudodid=${CUT(pseudodid,:,2)})
exten => s,5,Set(callersname=${IF($[ ${pseudodid}
081...]?Company1:${callersname})})
exten => s,6,Set(callersname=${IF($[ ${pseudodid}
= 082...]?Company2:${callersname})})
exten => s,7,Set(callersname=${IF($[ ${pseudodid}
= 083...]?Company3:${callersname})})
exten => s,8,Set(callersname=${IF($[ ${pseudodid}
= 084...]?Company4:${callersname})})
exten => s,9,Set(callersname=${IF($[ ${pseudodid}
= 085...]?Company5:${callersname})})
exten => s,10,Set(callersname=${IF($[ ${pseudodid}
= 086...]?Company6:${callersname})})
exten => s,11,Set(callersname=${IF($[ ${pseudodid}
= 087...]?Company7:${callersname})})
exten => s,12,Set(callersname=${IF($[ ${pseudodid}
= 088...]?Company8:${callersname})})
exten => s,13,GotoIf($["${callersname}" =
"Company1"]?internal,36,1:14); to
reception
exten => s,14,GotoIf($["${callersname}" =
"Company2"]?internal,88,1:15); to
department1
exten => s,15,GotoIf($["${callersname}" =
"Company3"]?internal,36,1:16); to
reception
exten => s,16,GotoIf($["${callersname}" =
"Company4"]?internal,36,1:17); to
reception
exten => s,17,GotoIf($["${callersname}" =
"Company5"]?internal,36,1:18); to
reception
exten => s,18,GotoIf($["${callersname}" =
"Company6"]?internal,89,1:19); to
department2
exten => s,19,GotoIf($["${callersname}" =
"Company7"]?internal,36,1:20); to
reception
exten => s,20,GotoIf($["${callersname}" =
"Company8"]?internal,13,1:21); to
department3
And later in same file:
; Phone 36 reception> *exten => 36,1,Set(CALLERID(name)=${callersname})*
> exten => 36,n,Dial(SIP/36,20)
> exten => 36,n,VoiceMail(36,u)
> exten => 36,n,Hangup
Ta,
-Andrew Galdes
Managing Director
RHCE, LPI, CCENT
AGIX Linux
Ph: 08 7324 4429
Mb: 0422 927 598
Find us: Website <http://www.agix.com.au> | LinkedIn
<http://au.linkedin.com/in/andrewgaldes> | Blog
<http://agix.com.au/blog> |
YouTube <http://www.youtube.com/user/andrewgaldes> | Google+
<http://google.com/+AndrewGaldes>
*Platform Architects for High Demand Web Applications.*
On Wed, Apr 8, 2015 at 9:18 AM, Andrew Galdes <andrew.galdes at
agix.com.au>
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
>> <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
>> register=082...:... at 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
>> register=086...:... at sip.internode.on.net/s
>> register=087...:... at sip.internode.on.net/s
>> register=088...:... at 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
>> host=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> 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>"")
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/a60f5042/attachment.html>
Andres
2015-Apr-08 02:35 UTC
[asterisk-users] Asterisk Inbound calls, multiple SIP accounts, calledID
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...:... at sip.internode.on.net/s> > register=082...:... at sip.internode.on.net/s > <http://082...:... at 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...:... at sip.internode.on.net/s> > register=086...:... at sip.internode.on.net/s > <http://086...:... at sip.internode.on.net/s> > register=087...:... at sip.internode.on.net/s > <http://087...:... at sip.internode.on.net/s> > register=088...:... at sip.internode.on.net/s > <http://088...:... at 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>
Dmitriy Serov
2015-Apr-08 05:45 UTC
[asterisk-users] Asterisk Inbound calls, multiple SIP accounts, calledID
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...:... at sip.internode.on.net/s>
> register=082...:... at sip.internode.on.net/s
> <http://082...:... at 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...:... at sip.internode.on.net/s>
> register=086...:... at sip.internode.on.net/s
> <http://086...:... at sip.internode.on.net/s>
> register=087...:... at sip.internode.on.net/s
> <http://087...:... at sip.internode.on.net/s>
> register=088...:... at sip.internode.on.net/s
> <http://088...:... at 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>
Salaheddine Elharit
2015-Apr-08 15:34 UTC
[asterisk-users] Asterisk Inbound calls, multiple SIP accounts, calledID
what about
exten => s,1,Goto(from-trunk,${CUT(CUT(SIP_HEADER(To),@,1),:,2)},1)
regards
2015-04-08 5:45 GMT+00:00 Dmitriy Serov <serov.d.p at gmail.com>:
> 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
>> <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
>> register=082...:... at 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
>> register=086...:... at sip.internode.on.net/s
>> register=087...:... at sip.internode.on.net/s
>> register=088...:... at 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
>> host=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> 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>"")
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
>>
>
>
>
>
>
> --
> _____________________________________________________________________
> -- 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/3de27a67/attachment.html>
John Kiniston
2015-Apr-08 17:02 UTC
[asterisk-users] Asterisk Inbound calls, multiple SIP accounts, calledID
Andrew,
Instead of your SET and GOTO blocks I'd recommend using the Asterisk DB to
make things easier to maintain.
You could make two database entries for each of your DID's
database put 4259981810 name JohnPersonal
database put 4259981810 target kiniston-extern,john-personal,1
Then you could do a single block that would do the lookup and call routing:
Set(DESTINATION=${CUT(PASSTHRU(${SIP_HEADER(TO):5}),@,1)})
Set(CALLERID(name)=${DB(${DESTINATION}/name)})
Goto(${DB(${DESTINATION}/target)})
On Tue, Apr 7, 2015 at 6:06 PM, Andrew Galdes <andrew.galdes at
agix.com.au>
wrote:
> Solved it, kinda. It's not cute. I'm sure this is the way NOT to do
it but
> it does work. For prosperity, the SIP service is through Internode.
>
> Here is my "extensions.conf" file:
>
> exten => s,5,Set(callersname=${IF($[ ${pseudodid} >
081...]?Company1:${callersname})})
> exten => s,6,Set(callersname=${IF($[ ${pseudodid}
> = 082...]?Company2:${callersname})})
>
> exten => s,13,GotoIf($["${callersname}" =
"Company1"]?internal,36,1:14);
> to reception
> exten => s,14,GotoIf($["${callersname}" =
"Company2"]?internal,88,1:15);
> to department1
>
> And later in same file:
>
> ; Phone 36 reception
>> *exten => 36,1,Set(CALLERID(name)=${callersname})*
>> exten => 36,n,Dial(SIP/36,20)
>> exten => 36,n,VoiceMail(36,u)
>> exten => 36,n,Hangup
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.digium.com/pipermail/asterisk-users/attachments/20150408/eaf2466b/attachment.html>
Reasonably Related Threads
- Asterisk Inbound calls, multiple SIP accounts, calledID
- Asterisk Inbound calls, multiple SIP accounts, calledID
- Asterisk Inbound calls, multiple SIP accounts, calledID
- Asterisk Inbound calls, multiple SIP accounts, calledID
- Asterisk Voicemail Realtime and 'VirtualBoxing'