Direct SIP Question

dave_

Customer
Joined
May 5, 2025
Messages
9
Reaction score
0
Hi All,

I'm running a trial version of 3CX Pro v20 (hosted on 3cx). I'm trying to set up Direct SIP inbound calls. I have 2 extensions configured with SIP IDs and I have the "Allow Direct SIP calling" option turned on under System > Options.

I have an existing upstream provider terminating my PSTN DID numbers and forwarding to a user via Direct SIP to 3CX e.g. sip:[email protected]. The users are connected to 3CX via the 3CX app (one iOS, one Android). The upstream provider's IP addresses are whitelisted.

For both users, the incoming call doesn't ring, but a missed call notification is received when the caller hangs up. Calls between the users ring and work fine.

I've seen similar issues reported on other forum threads, but no resolution. Is this a supported use case?
 
Hi, I am very curious to hear the outcome/resolution to this one. Just to mention, prompted by your query.
- I find this (rather old, but 3cx specific) - hints on direct SIP call config (dates back to when 3cx was a windows-only offering, but I am guessing core concepts are relevant still?) >> https://www.3cx.com/blog/voip-howto/direct-sip/
- and there is a bit of more recent blog discussion >> https://www.3cx.com/community/threads/direct-sip-question.113421/ which appears to reference the first direct-sip link as a good-place-to-read (ie, suggests the origianl hint docs are not stale?)

Not sure if this is helpful but hopefully if not, someone else with more suggestions and experience on this topic will hop in.

Tim
 
Hi Tim,

Unfortunately the blog post you mentioned is dated 2009 and is listed as "outdated" at the top, and while the SIP introduction is still relevant, v20 of the server looks like it has changed completely going by the screenshots. The forum thread you posted is more recent, but the link in it to https://www.3cx.com/docs/direct-sip/ ends up in 404 error.

I'm hoping the presence of the "Allow Direct SIP calling" option means it's still supported in v20...

Dave
 
The forum post that was added in previous reply clarify exactly the case here.
As long as there is a device that support direct sip (i.e. not an analog line) and knows your username@domain will be able to make a direct call without using a sip trunk provider.
 
  • Like
Reactions: Evolute IT
Hi @TheodorosG_3CX

Thanks for the response, I'm glad to hear Direct SIP is still supported. Can you give me some guidance about the best way to troubleshoot my issue?

When I call from a linphone.org account to my 3CX user connected via the 3CX iOS or Android app, the linphone rings but the 3CX app doesn't. When I hang up the call from the linphone, I get a missed call notification on the 3CX app - so something is reaching the 3CX server but I'm not sure where to go from here.

The server is hosted by 3CX. My 3CX user has a SIP ID set, and I have "Allow Direct SIP calling" option turned on under System > Options. Is there something more I need to do?

Cheers
Dave
 
Same problem here, do you have already a solution?
 
Hi, I couldn't get it to work.

@TheodorosG_3CX responded with a thread that was about disabling Direct SIP but it referenced a couple of documents about it. Of those documents https://www.3cx.com/docs/direct-sip/ goes to a 404, and https://www.3cx.com/blog/voip-howto/direct-sip/ is really just an explanation of the SIP protocol and how to set up Direct SIP with DNS records and the management console.

My service is 3CX hosted so I don't have access to the DNS records and the screenshots referenced sections of the management console that no longer exist in v20.

Given the number of people asking and the lack of any clear answers for V20, it's either blindingly obvious how to do it, or now abandoned.

I worked around the issue for my use case using trunks and dialing <DID>@<my-domain>.3cx.com.

Maybe I should have blown the money for a support ticket to get the answer...

Cheers
Dave
 
Hi,

Do you have PUSH notifications enabled? Global and per user? Since user to user works this should be active, but best to check.

Also, do the Logs show anything about how those calls are coming in? Enabling Debug and making a direct SIP call should show some hints at the very least.
 
Hi, thanks for the reply. You inspired me to give it another go.

I have push notifications enabled for my user under the call forwarding settings "Accept PUSH notifications" but I wasn't able to find a global setting.

I had Console > System > Options > "Allow Direct SIP calling" on, and on the user side I had a SIP ID set and "block remote non-tunnel connections" turned off.

Calling from a linphone account to the 3CX I got nothing by dialling <user_sip_id>@<domain>.3cx.com. The linphone reported a network problem and the activity log on the 3CX server showed nothing.
When I called via the trunk I have set up e.g. <E.164>@<domain>.3cx.com I got the INVITE so the 3cx phone (iOS app) rang but the call dropped as soon as it was answered when trying to set up audio. There were entries in the Activity log for the incoming call but I didn't trawl through the SDP to figure out why the audio was failing. I'm assuming it was networking related.
 
It does sound like a network problem. Does the 3cx firewall checker pass?
 
Yes, it has a green check on the dashboard. Have you got Direct SIP calling working on your system?
 
I don't have it in use right now, but have used it before.

In system -> Options there is a Direct Sip checkbox.
 
Yes, I had that option checked during my testing. I also had the "block remote non-tunnel connections" setting turned off for the user.

Are you running v20? What restrictions did you have in your IP blacklist? I suspect it might need to be pretty permissive to get it to work.
 
Well since as you say the SIP INVITE comes through it should not be a 3CX blacklist issue. I'll give it a go see if I can get it working on mine (V20).
 
Yeah it rang if i called the extension via a trunk using the E.164 assigned to it, but not if I called using the SIP ID assigned to the user which was my original aim.
 
If the number has an E.164 DID assigned, try setting that as the SIP ID too, maybe it gets a match.
 
Hello dave_,

Been reading this, and understand that a lot has been asked and tested, however just want to be clear on something.

If you have 2 smartphones connected to the 3CX with the APP, it is possible to call each other by internal extesion number obviously.
But if you would dial the SIP name as configured in the SIP ID field, does that internally work???

Note: seems that I can not dial a name with the default telephone number-pad, only 0-9,*,# are possible
But if i type a name in a text and copy&paste this as name in the 3CX APP, it can dial a NAME.
And yes it works great for me, however I do not have the setup to test this with an external DIRECT SIP call setup.

When I look at my WireShark trace, there is the call setup with name and not numer. however it is being used internally, meaning I can see the 127.0.0.1 and not some external WAN IP address.

Dave, can you tell us if this also works the same for you, and can you make a wireshark trace to compare to the internal call setup?
Let us know what is the result of your testing.

Paulo
 
Hi, thanks for the reply. You inspired me to give it another go.

I have push notifications enabled for my user under the call forwarding settings "Accept PUSH notifications" but I wasn't able to find a global setting.

I had Console > System > Options > "Allow Direct SIP calling" on, and on the user side I had a SIP ID set and "block remote non-tunnel connections" turned off.

Calling from a linphone account to the 3CX I got nothing by dialling <user_sip_id>@<domain>.3cx.com. The linphone reported a network problem and the activity log on the 3CX server showed nothing.
When I called via the trunk I have set up e.g. <E.164>@<domain>.3cx.com I got the INVITE so the 3cx phone (iOS app) rang but the call dropped as soon as it was answered when trying to set up audio. There were entries in the Activity log for the incoming call but I didn't trawl through the SDP to figure out why the audio was failing. I'm assuming it was networking related.
Hi Dave, I'm encountering the exact same issue - were you able to resolve this in the end?
 
Hi,
No I wasn't able to get it working with a SIP address. I've had to workaround it with a trunk DID e.g. <e.164>@<domain>.3cx.com
I'm guessing it's no longer supported since there don't seem to be any V20 relevant resources online.

Cheers
Dave
 
Hi,
No I wasn't able to get it working with a SIP address. I've had to workaround it with a trunk DID e.g. <e.164>@<domain>.3cx.com
I'm guessing it's no longer supported since there don't seem to be any V20 relevant resources online.

Cheers
Dave
Thanks for taking the time to come back to me on this.
 

Members Online Now

Forum statistics

Threads
111,835
Messages
589,289
Members
164,665
Latest member
dominik.pepel