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@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





-- 
_____________________________________________________________________
-- 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

Reply via email to