1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Check out the 6 new Certified Incredible PBX Builds for Asterisk 11 and 13 featuring CentOS 6, Ubuntu 14, Raspberry Pi 2, and Asterisk-NOW.
    Dismiss Notice

Caller ID Number not passing through

Discussion in 'Help' started by ustelephone, Jan 16, 2011.

  1. ustelephone

    ustelephone Member

    I use Flowroute for incoming and they send a + in front of the caller ID number. I tried using all the methods in http://pbxinaflash.com/forum/showthread.php?t=7721 to scrap it with no success. This is not my main issue.

    I have an incoming DID that rings into a ring group which contains 2 internal extensions and one outside number. The outside number routes through an outbound route which uses a trunk which is a peer Asterisk system. If I place a call from an extension directly to the outside number (843XXXXXXX) both the name and number appear on the peer systems inbound call. When a call comes in through the DID ring group both name and number appear on the internal extensions caller ID, but on the peer system only the name appears.

    I attempted pointing the incoming DID directly to the 843# using misc destinations. Same thing, when the call routes through the peer trunk it appears on the other system with only name. Again, if I dial the other system directly from an extension by dialing the 843# both my name and number appear fine.

    I'm guessing that I am missing something in the peer trunk's config.
  2. ustelephone

    ustelephone Member

    If I pass the call through "Set Caller ID" and define and "Name" and "1234" as the number, it passes the info through. It displays
    Caller Name: Name
    Caller Number: 1234

    When I point the inbound DID straight to the misc destination, which again goes through a peer trunk, it not only does not display the name, it displays the number in the name field and leaves the name field blank.

    I have DID 786-123-4567 as an inbound route. It's destination is a misc destination which is phone number 843-123-4567. There is an outbound route that catches the 843# and sends it through a trunk that is an extension on another system. That system recognizes the 843# and routes the call to it's own extension which is the 843#.

    I call from 305-123-4567 Joe Smith. If I dial the 843# directly from a landline all info appears fine.

    If I dial the 843# from an extension on my system, same thing, my name and extension appear fine.

    If I dial the 786 DID and point it to an internal extension, everything still fine.

    When I point the 786# to the 843# I end up with the number only being displayed in the name field. Looks like this:
    Caller Name: ++13051234567
    Caller Number:

    If I turn on CNAME superfecta I end up with
    Caller Name: ++ Joe Smith
    Caller Number:
  3. jmullinix

    jmullinix Guru

    Don't know if this will help, but you could put this code in from-pstn-custom on the box that initially receives the call and see if it resolves it.


    exten => _x./_+.,1,set(CALLERID(num) = ${CALLERID(num):1})
  4. kh40s

    kh40s Guru

    It would help if you posted the exact instructions you are using in your custom context so we can look at it.
  5. ustelephone

    ustelephone Member

    I'm not using any custom contexts.

    7861234567 is an inbound SIP DID from Flowroute. No problems receiving calls and caller ID. When calls are routed to an extension the caller ID number and name (from superfecta) appear fine.

    I am attempting to route these inbound calls to another Asterisk system, which works fine except that we lose the caller id number and the caller ID name appears in the field where the number should be.

    We route the calls as follows.

    The inbound route for 7868638904 has a destination which is a misc application, basically pointing it to phone number 8431234567. We have an outbound route that catches that pattern and sends it through a trunk which is an extension on the other system. The context of that trunk is


    The host on the other end picks up the inbound call and routes it perfectly to 8431234567. I'm not sure if they catch it as a DID or an extension, but it works fine and ends up in the right place.

    If I pick up an extension on my system and dial 8431234567 the call routes fine and both my name and extension appear in the caller ID on their end fine.

    When a call is forwarded from the 7861234567 it routes fine, but the caller ID number is completely lost, and the name appears in the field where the number should be. The name field is blank.
  6. ustelephone

    ustelephone Member

    added this to my inbound Flowroute trunk and it fixed both problems.
  7. ustelephone

    ustelephone Member

    Ok.. this fixed my problem .. and I really like that it fixed the problem.. but I have one new problem..

    the caller id number is being stripped not only of the + but also the '1'. This is making it impossible for us to return calls from some of our phones. I can't use a 10 digitla dialing rule because I have 10 digit international stuff going on.

    I was going to tinker with the code in the context .. but there are plenty of warnings not to. Anyone know what I could change in that context to remove only the '+' and not the "+1". I'll make the change and create a custom context.

    exten => _+1NXXNXXXXXX/_+1NXXNXXXXXX,1,Set(CALLERID(number)=${CALLERID(number):2})
    exten => _+1NXXNXXXXXX/_NXXNXXXXXX,2,Goto(from-pstn,${EXTEN:2},1)
    exten => _+1NXXNXXXXXX/_+X.,1,Set(CALLERID(number)=011${CALLERID(number):1})
    exten => _+1NXXNXXXXXX/_011X.,n,Goto(from-pstn,${EXTEN:2},1)
    exten => _+1NXXNXXXXXX,1,Goto(from-pstn,${EXTEN:2},1)
    exten => _[0-9+]./_+1NXXNXXXXXX,1,Set(CALLERID(number)=${CALLERID(number):2})
    exten => _[0-9+]./_NXXNXXXXXX,n,Goto(from-pstn,${EXTEN},1)
    exten => _[0-9+]./_+X.,1,Set(CALLERID(number)=011${CALLERID(number):1})
    exten => _[0-9+]./_011X.,n,Goto(from-pstn,${EXTEN},1)
    exten => _[0-9+].,1,Goto(from-pstn,${EXTEN},1)
    exten => s/_+1NXXNXXXXXX,1,Set(CALLERID(number)=${CALLERID(number):2})
    exten => s/_NXXNXXXXXX,n,Goto(from-pstn,${EXTEN},1)
    exten => s/_+X.,1,Set(CALLERID(number)=011${CALLERID(number):1})
    exten => s/_011X.,n,Goto(from-pstn,${EXTEN},1)
    exten => s,1,Goto(from-pstn,${EXTEN},1)

Share This Page