Dismiss Notice
We would like to remind you that we’re updating our login process for all 3CX forums whereby you will be able to login with the same credentials you use for the Partner or Customer Portal. Click here to read more.

Outbound caller ID with CallCentric, v15.5

Discussion in '3CX Phone System - General' started by Stephen Hellriegel, Feb 11, 2018.

Thread Status:
Not open for further replies.
  1. Stephen Hellriegel

    Jan 1, 2018
    Likes Received:
    As of Feb 2018, 3CX V15.5 8801.3 there are a few hoops one must jump through to get 3CX to properly present outbound callerid using CallCentric. I choose CallCentric as it was a "supported" partner, some of the issues may be fixed by 3CX in the auto-commissioning of adding a trunk, and certainly the following nuggets could get added to the 3CX CallCentric help documentation. In particular the last 2 settings below should be automatically set by 3CX during the add sip trunk process.

    Here is the complete digest of what you need to do to enable CallerID propagation from a user extension through a CallCentric outbound SIP Trunk.
    1. Get the phone number(s) "Verified" by CallCentric.
      • They require a verification process to avoid fraud
      • At any point in time, if anything goes wrong, the default callerID loaded on CallCentric extension will be used.
      • They have a process where you can dial a "verification number" after keying your phone number in to their API and this will automatically verify the number and add it to the possible callerIDs on your account.
      • If you have a large block of numbers, you open a trouble ticket, and present a screen shot proving you have control of the DIDs. They were fine with my presenting Vitelity DIDs to load as permitted outbound CID from their system.
    2. Setup your outbound parameters for CallCentric as follows. Any other field should be set to "default"
      The last 2 are the "special ones" that aren't the default setting when my SIP Trunk was constructed by the 3CX system.
      Request Line URI: User Part - CalledNum 
      Request Line URI: Host Part - GWHostPort 
      Contact: User Part - AuthID 
      Contact: Host Part - ContactUri 
      To: Display Name - CalledName 
      To: User Part - CalledNum 
      To: Host Part - GWHostPort 
      From: Display Name - CallerName 
      From: User Part - AuthID 
      From: Host Part - GWHostPort
      P-Asserted Identity : User Part - "OutboundCallerId" 
      P-Asserted Identity : Host Part - "OutHostPort" 
    3. In your extensions, you must be sure to have an 11 digit number. For the US/Canada that means your outgoing callerID field needs to be 1+AreaCode+Prefix+Station (no plus signs)
      It is not sufficient for your outbound rules to rewrite to prepend the 1. The outbound rewrite rules do not affect the "P-Asserted Identity : User Part" field. This wasted a ton of my time.
    That's it. You can verify all is good by turning on "Verbose" debugging and making an outbound call.
    From the dashboard, hit activity log, press the gear and select verbose.
    I normally do this when the system is quiet. Turn on verbose, purge, make the call, hit refresh, and then look at the data. Turn off verbose as soon as possible. It chews both CPU and log space. In addition, verbose logging puts a lot of writes to your SSD which will prematurely age it. I leave my logging at Low, unless I am actually looking for something.

    Here is what you are looking for in the Verbose log file:
    P-Asserted-Identity: <sip:12068675309@callcentric.com:5060>
    If that CID is not an 11 digit number, CallCentric will default to whatever is on the account.
  2. YiannisH_3CX

    YiannisH_3CX Support Team
    Staff Member 3CX Support

    May 10, 2016
    Likes Received:
    Hello @Stephen Hellriegel

    Regarding point 2:

    The only difference i see with the default template is the "Remote Party ID - Calling Party : Host Part" which by default is set to "GWHostPort" gateway/provider host/port and should remain like that as it appends the registrar of the provider and the port.
    If you are seeing different settings then you need to check for template updates.

    Regarding point 3:

    Please note that outbound rules re-write the number you are calling, not the number you are calling from. The number appearing in the Outbound caller ID is not the called number but the calling number so outbound rules cannot modify that. You need to use the correct number format when you set the outbound caller ID of the trunk of of the extensions.
  3. Stephen Hellriegel

    Jan 1, 2018
    Likes Received:
    For Point 2:
    My system is 100% up to date. I built the CallCentric SIP Trunk less than 3 weeks ago, callerID never worked out of the box. There hasn't been a SIP trunk update for CallCentric since I added the trunk.

    If there was an update, how does the update merge with my local settings? You say I need to check to see if anything has changed. How do I do that? I am running a physical instance, so I can log in and troll around in Instance1/Data for example.

    The settings I outlined in my post work with CallCentric with regards to outbound CallerID from extensions. The previous posts others have written, and your own recommendations are insufficient.
    The settings I posted were from CallCentrics senior support staff directly. I worked with them over the weekend to track down the last issue, as I did have the P-ASSERT-IDENTITY correctly propagated but still no callerID propagation.

    If you do not change the host Part per what I indicate, even with P-ASSERT-IDENTITY set correctly, you will still get the default callerID. Your recommendation is incorrect.

    I validated your statement is incorrect:
    I changed my SIP trunk for "Remote Party ID - Calling Party : Host Part".
    No other settings touched.
    Set to Default (per my note), outbound callerID based on extension works.
    Set "GWHostPort", does not work. So clearly GWHostPort is not default ...

    How do we see the templates? Where is the "Default" settings documented? On the form, it would be nice if instead of "default" everywhere, it listed the setting and marked that it was default. Perhaps by each button that is not default, an option to reset back to default. That way the user could visually ascertain their status of configuration.

    I did find the following, but clearly the audience isn't a 3CX system administrator.

    For Point 3:
    I have no logical basis to defend my assumption that the outbound rewrites would be applicable to callerID extension data. Thanks for clarifying what should have been obvious to me! Hopefully, others will benefit from my extreme stupidity, now so carefully documented ;)

    Observation: On the 3CX website, under the supported SIP trunks page, it would be very helpful if there was a glossary which defined what all those table entries mean in clear language.

    For example, "Clip no Screening support". Yes means the carrier will transmit whatever callerID data you send to them without checking. No means the carrier qualifies the data and only passes previously authorized callerID strings.

    #3 Stephen Hellriegel, Feb 12, 2018
    Last edited: Feb 12, 2018
    Arthur Siu likes this.
  4. YiannisH_3CX

    YiannisH_3CX Support Team
    Staff Member 3CX Support

    May 10, 2016
    Likes Received:
    Updates for templates appear in the updates section of the PBX. Since the trunk was built 3 weeks ago then you should be running the latest template. By default settings, i mean the settings included in the template.

    Regarding the template changes you made: It is correct that CallCentric works with either P-Asserted-Identity or the Remote Party-ID (or P-Preferred-Identity) as mentioned in their website. We are using the Remote Party-ID as it is more commonly used.

    Both options will work as long as you have "OutboundCallerId" in the User Part and "GWHostPort" in the Host Part. 2018-02-13_14h40_58.png



    If you are using OutHostPort and works that means that you are using a proxy in the outbound proxy of the trunk which is not necessary and it is not included in the template.
    If you select OutHostPort and you are not using an Outbound Proxy then Outbound caller Id will never work as the P-Asserted-Identity will be invalid as no host part will be included in the header.

    Please use the settings included in the default template and test again. Since your numbers are verified by Callcentric you should have no issues. You can add a new Callcentric trunk to see what settings are included in the template.
Thread Status:
Not open for further replies.