Twilio - Call Flow Adjustment


I recently rolled my trunking services from Voyant to Twilio. Since then I’ve had troubles with a specific way I had a call flow set up.
Currently, I have a CF setup to open/close the store. When it’s closed, it routes to a ring group that just call forwards to an external cell phone (changed weekly for an on-call rotation), so ex: 1234567890#. Before on Voyant, this worked fine, and when the call was forwarded, it showed to the person on call the customers number.
After the switch to Twilio, the calls like this failed because they were seeing the on call number as an unauthorized number because it is listed in the invite. I can get the calls to forward again by changing the ring groups Fixed CID value to the store’s main number, but when the calls forward, they see the store number, not the customer calling. I tried switching it up and using a misc destination instead, and switched it in call flow control to that, but it still shows the main store number to the on call person. How else can I set up this call flow to show the customer number when forwarding calls to external numbers?

Edit: On Twilio’s side, the trunk settings has a Call Transfer (SIP REFER) section, that I have enabled, with this description: When Call Transfer is enabled, Twilio will consume an incoming SIP REFER from your communications infrastructure and create an INVITE message to the address in the Refer-To header.
With that enabled, how can set this up so FreePBX will send the call to them correctly?

(Dave Burgess) #2

I don’t think that’s going to solve your problem. If I understand correctly, that redirects the call off your PBX, making it a direct call to their cell phones, allowing the cell calls to get out into the wild.

I’d get a cheap outbound line that allows for foreign caller IDs, and set it up so that the only calls that get sent to that line are the cell phones of your on-call people. You don’t need a number or any of that other stuff - you just want an outbound provider. There used to be “” that would be perfect for this. Seems to me that Telnyx and Alcazar would work.


Twilio does not permit sending a caller ID that’s not yours.

REFER is probably not a good idea; you won’t be able to record the call, know how long it lasts, or even know whether it was successful (other than by looking at Twilio logs).

I agree with @cynjut that you should get another trunking provider for this, but IMO Telnyx and AlcazarNetworks are worlds apart. Telnyx is a first class operation and I’d rank them above Twilio in areas where they are also the carrier. Although AlcazarNetworks termination has improved in recent years, their traffic is still ~60% robocalls, with the quality you’d expect from that.

(Dave Burgess) #4

… notwithstanding, this is for a very specific set of numbers and specifically for reflection of the call from the PBX back out into the telephony world. If you use them for nothing but these after-hours calls, you shouldn’t have to worry about quality for these outbound calls.

(Chris Dolese) #5

sipstation handles that too , you can test with a trial account if you like

one other thing that would be interesting to try would be to force the call to be answered on the inbound route , does it cause any change in behavior ? thats on the advanced tab of the inbound route


I tried this and outcome is still the same. Call fails and in the debug of the logs on Twilio’s side, I see the caller ID still sending as the customer caller ID.

(system) closed #7

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.