• V20: 3CX Re-engineered. Get V20 for increased security, better call management, a new admin console and Windows softphone. Learn More.

Remote Extension - continuing saga

Status
Not open for further replies.

craigreilly

Free User
Joined
Feb 1, 2012
Messages
4,134
Reaction score
577
I can not find my previous thread on this... sorry :(
I finally have remote extensions working with 2 way voice on a Yealink T22. On the remote extension I had to change transport from UDP to TCP.
However - it can not Transfer or Hold calls. They get put into never-never land (other end still shows active call - but remote extension can't get them back). Also, all outbound calls terminate in 30 seconds on the remote extension - both internal and external.
I see this in the 3cx log file. Notice the top line, about 30 seconds after "Active Call" it realized no ACK has been recieved.

08:22:37.359 [CM503021]: Call(16): ACK is not received
08:22:09.368 Currently active calls - 1: [16]
08:22:05.280 [CM503007]: Call(16): Device joined: sip:[email protected]:40600;rinstance=326ff24e26de9323
08:22:05.279 [CM503007]: Call(16): Device joined: sip:[email protected]:5162;transport=TCP
08:22:05.276 [CM505001]: Ext.9999: Device info: Device Identified: [Man: 3CX Ltd.;Mod: Voice Mail Menu;Rev: General] Capabilities:[reinvite, replaces, able-no-sdp, recvonly] UserAgent: [3CX Voice Mail Menu] PBX contact: [sip:[email protected]:5060]
08:22:05.276 [CM503002]: Call(16): Alerting sip:[email protected]:40600;rinstance=326ff24e26de9323
08:22:05.073 [CM503025]: Call(16): Calling Ext:Ext.9999@[Dev:sip:[email protected]:40600;rinstance=326ff24e26de9323]
08:22:05.051 [CM503004]: Call(16): Route 1: Ext:Ext.9999@[Dev:sip:[email protected]:40600;rinstance=326ff24e26de9323]
08:22:05.051 [CM503010]: Making route(s) to <sip:[email protected]>
08:22:05.050 [CM505001]: Ext.4923: Device info: Device Identified: [Man: Yealink;Mod: T22;Rev: General] Capabilities:[reinvite, replaces, unable-no-sdp, no-recvonly] UserAgent: [Yealink SIP-T22P 7.61.0.80] PBX contact: [sip:[email protected]:5060;transport=TCP]
08:22:05.049 [CM503001]: Call(16): Incoming call from Ext.4923 to <sip:[email protected]>

I've tried different options with Supports Re-Invite and Support Replaces header to no avail.

Any ideas?

Thanks.
 
Does the location of 3CX Server have a fixed or dynamic IP address
 
the 3cx is a fixed internal/private address.
there is a port forward externally on 5060 and 9000-9049 to forward from a fixed public to the internal of 10.0.0.12
 
What make and model router at remote end? Are keep alive and rport enabled on remote phone?
 
When I did some remote extensions the server was located on a dynamic IP so I had to use DNS, your setup should be easier

That you don't get the ACK suggests that the server is sending the wrong IP to the remote extension

Here is a check list that worked to get a customers remote extension working

Settings Network Stun Server

Stun Server Off and Your Public IP entered as Contact & SDP

Settings Network Public IP

Static Public Address set a Your Public IP

Settings Advanced Advances

Allow Calls to External SIP Ticked

Local Sip Domain set to your Your Public IP

Settings Advanced Custom Parameters

SIPDOMAIN - Your Public IP

PBXPUBLICIP - Your Public IP

DEFAULTLOCALIP - Your Local IP

MSEXTERNALADDRESS - Your Public IP

CMEXTERNALADDRESS - Your Public IP

MSEXTERNALINTERFACE - Your Local IP

CMEXTERNALINTERFACE - Your Local IP

On the relevant extension other

PBX Delivers Audio Ticked

Supports Re-Invite and Support Replaces header UN Ticked

Disallow use of extension UN Ticked

Save all settings and restart your 3CX Server

This should ensure your server is sending the correct IP allowing a remote registration on the specified extension

On the remote side I have used Linksys Pap2's, I am sorry I don't have Yealink Phones but I guess the the setting I have used will be available in your phone.

Using UDP Transport

Set the SiP Port away from any conflicts - I used Port 5000

Set the RTP to a short range - I used 5010 - 5019

Forward both of these port ranges in the remote router to the local IP of the phone

If available enable "Handle VIA rport:" and "Insert VIA rport:"

Ensure that the remote phone either has Public IP set to the fixed IP for the remote router or if the remote location has a dynamic IP enable stun to resolve the public IP

Once the the phone reboots the 3CX server should show it in "Phones" with the IP adress of the remote router at port 5000

All calls should work fine. I set up four remote locations and they have run without fault for the last 4 months.
 
What model is your firewall and is stun enabled or disable on your phones?
 
I would edit my post but I can't. I don't want to confuse you too much but here is how I got my remote extensions to work.

co-located 3cx server - dedicated IP - no hardware firewall, just windows firewall

location 1 - dedicated ip, multple end points - pf sense firewall
I followed directions exactly BUT disable stun on the phone
http://www.3cx.com/blog/voip-howto/remote-extensions/

location 2 - dynamic ip but single end point
same instructions above, stun enabled - linksys firewall

location 3 - static ip multiple end points - pf sense firewall
same instructions above, stun enabled, change the increment the sip port on each phone 5060-50xx for however many devices we have.

I'm using spa504g at all locations

I know I had a heck of a time getting it to work. I hope this helps even a little.
 
Remote End - this is the big variable. It could be anything... Right now I am testing in a closed environment. I have a block of Public IP's available to me to test. So I have a Netgear WNR2000 at the moment with a public ip - but that doesn't mean that is what will be available on the remote end. They might be on DSL from the local TelCo with their router. Andm ight be on a dynamic ip. These are Remote Workers with 1 person - not Remote Offices (thankfully).

Keep alive and Rport checked on remote phone.

After trying those settings on the server - it was back to the old way. Call phone, person answers. no audio exchanged. Local party still shows call being made. Remote person hangs up. Phone rings again from original party - except they already hung up.
So - narrowed this down to keep TCP Transport.
If I turn STUN Off on the server - I can't call to the Remote Extension anymore. It goes right to Voicemail.

Now - thru these changes - I found something else.
Local person call remote person. All is good until Remote Person hangs up and Local person doesn't know. Call stays active.

And - can't use the Tunnel as remote users are on Mac's.

I also noticed, setting my Phone Local SIP Port to 5000 shows up as 66.xxx.xxx.126:5100 in the Phones section of 3cx Management tool.

It was mentioned above to set the phone to the static public address? Are you saying if the Router Static Address on the remote end is 66.xxx.xxx.126 then to do the same as the phones ip address? That would be against my principles :) ?? Please explain.

Oh -and thanks for all the guidance - hopefulyl I will eventually get this.
 
As you having problems with calls not ending correctly I would guess your problem is with your routers security. Passing the actual sip signals to make, ring and end calls usually works fine even if you get failed audio one or both ways.

Check the logs in your router, you may find it is blocking traffic, I would switch off all the router security while you setting up a remote extension just rely on NAT, you can switch it back on when your remote extension is working gradually to find any setting that is blocking your traffic.

You don't set the remote the phone to the public IP it should have a local IP. However there should be a facility to tell it what the public IP is. If that is a dynamic address use Stun, it needs to know this so it can pass it to your 3CX server and get traffic back.
 
Yes. Not ending correctly. And similar behavior if I try to hold or transfer someone.
The phone has a static private address and stun is on to use stun.3cx.com
 
Try the settings i sent you to test the remote phone side, the server definitely works here.
 
I'll work on the router at remote side tomorrow. I'm not even sure if the netgear has an "off" setting...
 
Sorry, because I can't edit, Location 3 is a cisco firewall not pfsense.
 
I don't see any security on the Netgear. I am leaving this to a PRO.

On a side note, running a wireshark on the remote side, I see:
a Broadcast that says "Who has 10.0.0.12? Tell 10.0.0.100"

Well - 10.0.0.12 is the 3cx System at the main office.
The remote end is on same IP Scheme and 10.0.0.100 is the Remote Phone
They are not VPN'd or anything. Its just the way things worked out with the hardware.

10.0.0.12 does not exist on the Remote System - it will not be found.

So - I changed the Netgear to 192.168.0.x just in case there was an IP Conflict or confusion... but same results -
when remote end hangs up or hold or transfer...
 
The remote phone / IP range should be different to the server end.

Example

10.0.0.1 - 10.0.0.254 on the server lan

10.0.1.1 - 10.0.1.254 on the remote lan

You can not use the same range in two places, they must be seperate and then either linked through VPN or NAT.
 
Did you try the setting I sent to test the remote phone
 
As I mentioned in the end of that post - I have changed the remote end to use different ip scheme - but no change in behavior.
The remote phone is on STUN because site it goes to will be Dynamic IP from local TelCo or Cable provider.

I have tried all other suggestions here and nothing has worked. I have my installer who will look at things next week.
 
Status
Not open for further replies.

Getting Started - Admin

Latest Posts

Forum statistics

Threads
141,939
Messages
751,302
Members
145,386
Latest member
YBow
Get 3CX - Absolutely Free!

Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.