1

Does Asterisk / FreePBX support the ability to pass the caller ID of an inbound caller to a remote support agent (on a cell phone)?

Our work has a queue for incoming calls which contains "remote agents" (people on cell phones). To the cell phone agents, all calls appear to be coming from our main number (385-111-1111). We would like the calls to appear to be coming from the caller (201-555-5555).

This is not a problem with our SIP trunk provider. In the past we used different PBX software, with the same SIP trunk provider, and it was able to set the Caller ID properly. Extensions are capable of setting and passing arbitrary Caller ID, only calls from queues retain the main number.

Outgoing PEER Details:

host=sip.provider.com
type=friend
trustrpid=yes
sendrpid=yes

I've manipulated so many settings that I've come to wonder if Asterisk / FreePBX simply does not support this. Has anyone successfully been able to do this?

user3431540
  • 45
  • 1
  • 6

2 Answers2

2

Asterisk certainly does. Capture the CID in a dialplan variable at the beginning of the call and set the outbound CID to the same value before passing it on.

There's no direct way to do this within the FreePBX GUI but there is a workaround:

  1. Set up a virtual extension
  2. Enable follow-me on the extension, add the mobile number to the follow-me list
  3. Set the follow-me CID mode to default
  4. Ensure the queue's agent restrictions allow the use of follow-me numbers
  5. Have the agent log into the queue using the virtual extension instead of their mobile number

The default behaviour for the follow-me extension is to pass the incoming caller ID out. So, some flexibility is lost (mobile numbers have to be changed in follow-me settings) but it does allow the desired behaviour.

miken32
  • 42,008
  • 16
  • 111
  • 154
  • Freepbx DEFAULT queue behavour is send callerid to trunk. Also there are no need use followme in freepbx queue, queue allow use external number directly(see hint in web) – arheops Feb 01 '16 at 23:01
  • @arheops Dear Sir, are you saying that FreePBX can do this without the workaround suggested by miken32? Could you please provide some more information? If the default behavior is to pass the caller's CallerID to remote agents, than I must have changed the default behavior somewhere (although it is a brand new installation). I would greatly appreciate more information. – user3431540 Feb 02 '16 at 04:35
  • Just put your external number in static agents area in queue edit, after that remove any cid from trunk that have be used and ensure you have no binded cid in trunk's definition. – arheops Feb 02 '16 at 11:52
  • Removing CID from the trunk is usually not desirable. – miken32 Feb 02 '16 at 15:30
  • If so, you have create other trunk(same trunk info) with other name, create outbound rule with OTHER prefix and use that prefix for phone. Anyway if trunk have binded CID -no way solve this task. – arheops Feb 03 '16 at 01:18
  • Except for the answer I provided. – miken32 Feb 03 '16 at 04:27
  • @arheops, I did try removing the CID from the trunk (against the advice of my sip trunk provider) and it resulted in unpredictable behavior. It did not transmit the correct caller ID, and instead transmitted random (but apparently correctly formatted) phone numbers. So that option did not work in my case, but thank you for the suggestion. – user3431540 Feb 04 '16 at 02:56
  • That mean cid on trunk have be formated not same way as your inbound cid(for example trunk require cid be +1xxxxxxxxx and incoming is xxxxxxxx) or provider not support trunk change. So likly you require debugging,maybe custom context for cid change or other (cid-friendly) provider for such calls. – arheops Feb 04 '16 at 04:05
  • @miken32 Sorry! How very rude of me. It's a work system, so please allow me just a few days to get back to it. Thank you for writing out the instructions all neat and clear like you did! :) – user3431540 Feb 06 '16 at 19:06
  • @miken32 This solved my problem and answered my question. Thank you! – user3431540 Mar 23 '16 at 23:08
0

Asterisk supports setting the callerid for all outgoing or redirected calls. I did this with v1.8 and v13.7 as I'm facing the exact same requirements.

This feature depends on the provider and the contract they setup with you. My Provider calls it "Special Arrangement / Clip no screening". In my case they use "P-Asserted-Identity" to find callerid.

I had to set the following options in the outgoing sip trunk in sip.conf:

trustrpid=yes
sendrpid=pai
Roland Rusch
  • 114
  • 6
  • This one not work for trunks in most of cases. It is for phones. – arheops Jan 30 '16 at 04:43
  • This appeared to make a big difference. By setting `sendrpid=yes` extensions were able to set their own outbound Caller ID. However, queues still are not passing the incoming phone number. ( `sendrpid=pai` did not work for us) – user3431540 Jan 30 '16 at 21:50