Direct Dial Extensions via SIP Trunk

Status
Not open for further replies.

jwsi

Free User
Joined
Jan 14, 2022
Messages
1
Reaction score
0
Hi there,

I'm currently in the process of migrating some telephony infrastructure from an on-prem physical PBX to 3CX hosted on a hypervisor. For some context the telephony system currently integrates with Twilio (for origination and termination) and we have a Python microservice deployed on AWS which handles incoming calls and dispatches them to relevant departments and extensions. This is done by sending SIP INVITE messages with the extension number directly to our on-prem PBX. This means that the on-prem PBX simply routes calls and the IVRs etc... are all handled by Python in the cloud. As such an example call flow looks a bit like this:

1) Caller dials the main number
2) Caller is presented with an IVR by Python microservice
3) Caller wishes to reach a user with an extension number of 100, so enters this into the keypad. Python then interprets the dial-tones, then checks user availability.
4) If the user is available to take a call, the Twilio API is utilised to send a SIP invite to our PBX URL. E.g. Request: INVITE sip:100@<pbx_url>.
5) The PBX checks that the request has come from Twilio and immediately routes the call to the user in question.
6) The call is connected and both parties communicate.

Now the question I have is how does one configure 3CX to route extension numbers from SIP trunks? From my initial inspection it seems that 3CX can only be configured to accept generic calls to a routable number from an upstream trunk rather than pre-parsed extension numbers ready to be routed. Effectively, I have 3CX setup with all the users and their extensions, I just need it so that when 3CX receives a call request for extension 100 from a SIP trunk, it will call the user with extension 100.

I'm sure this is possible to solve, I feel like I just need to know the correct place to configure this as it's a feature of most PBX systems.

Thanks :) :)

James.
 
Technically that Python script won't work to check the status (unless you do some trickery..) so that way wouldn't work.

Also, no, 3CX cannot route calls "to DID" like you hope.

However, a simple CFD to replace the IVR can do that easily with the GetExtensionStatus component and the Menu component.
 
Status
Not open for further replies.

Latest Posts

Members Online Now

No members online now.

Forum statistics

Threads
111,831
Messages
589,276
Members
164,660
Latest member
RJenkinsROCK