Incoming call issue from Voice Gateway to 3CX

Status
Not open for further replies.

Kwang Mien

Silver Partner
Advanced Certified
Joined
May 14, 2020
Messages
255
Reaction score
17
Hi,

I am encountering an issue with the call from my voice gateway to 3CX.

Call Scenario

a. The Voice gateway connects to the Telephone operator by a phone line and registers to 3CX as an "Analog" Type in 3CX
b. When there is an incoming call to the phone line number , the gateway routes the call to 3CX
c. 3CX rejects the call with a "SIP 404 : User Not Found"

After analyzing the wireshark capture, it seems that if the From Header of the INVITE contains the caller ID of the caller, for example, 96123456, 3CX will reject as User Not Found as 96123456 is not an extension in 3CX.

Is there any way to configure 3CX to disable this check, so that the caller ID can be sent and display on the end user's phone ?

Thanks.


Regards,
Kwang Mien
 
To first clear up a few things:

The Voice gateway connects to the Telephone operator by a phone line and registers to 3CX as an "Analog" Type in 3CX
• Is this a 3CX Supported Gateway?
• If not, how is it connected to 3CX exactly, have you created a Gateway or SIP Trunk entry in the SIP Trunks section or are you perhaps registering it as an extension?

3CX rejects the call with a "SIP 404 : User Not Found"
Does this apply for every call or are there calls that work? If you do have calls that work, what is different about them?

Also, do let us know what version of 3CX you're running and what its location is (Hosted by 3CX, Hosted by other, on-prem).
 
To first clear up a few things:


• Is this a 3CX Supported Gateway?
• If not, how is it connected to 3CX exactly, have you created a Gateway or SIP Trunk entry in the SIP Trunks section or are you perhaps registering it as an extension?


Does this apply for every call or are there calls that work? If you do have calls that work, what is different about them?

Also, do let us know what version of 3CX you're running and what its location is (Hosted by 3CX, Hosted by other, on-prem).
1) it is not a 3CX supported Gateway.

2) I have Added a Gateway under SIP Trunk. in the Gateway settings, for the Authentication it is set to "Register/Account based". My gateway registers to 3CX by extension 10002.

3) Every call to the phone line number will fail as 3CX returns "SIP 404 Not Found" if the From header contains the caller's number. However, if i configure my gateway to send the extension 10002 in the From header, call will go through. Hence, the difference is the From header for good and bad calls.

4) I am using 3CX Version 16. 3CX is hosted in our Data Center
 
As this is not a 3CX Supported Gateway, we cannot assist with its configuration, though, from your description of the issue, it seems it is the DID number that is not being matched as opposed to the "from number".

I'd first make sure that the number the caller is dialing exists as DID on the Gateway configuration within 3CX. If it is not, you can add DIDs with a wildcard such as *123456. This will have calls to any number ending with 123456 match.

Note: DIDs must be of at least 6 digits.
 
What type of Gateway are you using? Normally, when there is an incoming call from an analogue gateway, the call is sent to the trunk number (10002). That will be what 3CX uses to route the call. Caller ID is sent in a separate field. Any DID number sent, will also be a separate field, one that you define in the gateway if it supports that feature.
 
Last edited:
As this is not a 3CX Supported Gateway, we cannot assist with its configuration, though, from your description of the issue, it seems it is the DID number that is not being matched as opposed to the "from number".

I'd first make sure that the number the caller is dialing exists as DID on the Gateway configuration within 3CX. If it is not, you can add DIDs with a wildcard such as *123456. This will have calls to any number ending with 123456 match.

Note: DIDs must be of at least 6 digits.
1631662627948.png
in the gateway settings, only single DID can be added. it does not accept the wildcard
 
What type of Gateway are you using? Normally, when there is an incoming call from an analogue gateway, the call is sent to the trunk number (10002). That will be what 3CX uses to route the call. Caller ID is sent in a separate field. Any DID number sent, will also be a separate field, one that you define in the gateway if it supports that feature.
the gateway does not support the feature of sending both the Caller ID and 10002 in the From Header. Hence the issue when sending Caller ID to 3CX because it does not recognize the Caller ID as a user.
 
1631662879977.png
 
With supported gateways, 3CX has already done the work by creating a template so it works outside of the box. If you chose to use an unsupported gateway, then it is up to you to make it work. As you haven't even mentioned what the gateway is, there is not really any more help that can be provided.
 
@Kwang Mien
Another thing to note is that some gateways actually present a fixed DID number depending on which physical PSTN port the call came in through. That said, you might want to check if this is the case for your device by maybe reviewing a packet capture or checking the 3CX activity log to see what number is sent in the "To:" field and then create or adjust your DID numbers accordingly.
 
With supported gateways, 3CX has already done the work by creating a template so it works outside of the box. If you chose to use an unsupported gateway, then it is up to you to make it work. As you haven't even mentioned what the gateway is, there is not really any more help that can be provided.
Thanks for the info. We are using Allwin and Zycoo as the gateway.
 
@Kwang Mien
Another thing to note is that some gateways actually present a fixed DID number depending on which physical PSTN port the call came in through. That said, you might want to check if this is the case for your device by maybe reviewing a packet capture or checking the 3CX activity log to see what number is sent in the "To:" field and then create or adjust your DID numbers accordingly.
Just to clarify, it should be the "From :" field ? 3CX based on the "From :" to determine if the user exists.
 
I was actually referring to the "To:" field. Have you tried adding the DID with a wild card as cobaltit showed in the screenshot?
 
I was actually referring to the "To:" field. Have you tried adding the DID with a wild card as cobaltit showed in the screenshot?
Yes. I tried adding the DID with a wild card and it was able able to be saved.

I also tested the below scenario :

a. In the Gateway setting in 3CX, i added 65427788 as the DID
b. I made a PSTN call into my gateway and it sends 65427788 in the To: Header to 3CX
c. 3CX route the call to the extension configured under the "Route call to" settings in the Gateway
d. When the user for the extension received the call, he was able to see my caller ID on his 3CX client

In summary, 3CX did not disconnect the call with a "404 Not Found" error as previously and also was able to send the caller ID to the end user. This resolved the caller ID issue.

I have further question:

Currently, the call is routed to the extension specified in the "Route call to" setting in the Gateway.
If i were to configure 65427788 in the "Inbound Rules", will the call be routed to the extension specified in the Inbound Rules instead ?

Thanks.
 
In summary, 3CX did not disconnect the call with a "404 Not Found" error as previously and also was able to send the caller ID to the end user. This resolved the caller ID issue.
Excellent news! Glad to hear this is sorted!

If i were to configure 65427788 in the "Inbound Rules", will the call be routed to the extension specified in the Inbound Rules instead ?
Exactly, if you create an Inbound Rule for the DID, then calls to that DID should be routed as per the routing on the Inbound Rule.
 
Status
Not open for further replies.

Forum statistics

Threads
111,977
Messages
590,096
Members
164,906
Latest member
Nari