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


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






--
Technical Support
http://www.cellroute.net

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