Geekzone: technology news, blogs, forums
Guest
Welcome Guest.
You haven't logged in yet. If you don't have an account you can register now.


sfrasernz

234 posts

Master Geek
+1 received by user: 13


#269976 17-Apr-2020 18:19
Send private message

I have a FreePBX (a VM but don't think it matters) server connected to the T1600G L3 switch which is configured on a voice VLAN.

 

All my Yealink T21s are on the same voice VLAN and everything is and has been working great for 18 months.

 

I've been trying to configure softphones to enable staff to work remotely over the VPN but have had one-way voice issues. Initially I thought it was the VPN causing it but I spent some time onsite today and found the issue occurs on the internal network as well.

 

My softphone was on the data VLAN and I got one way audio calling internal extensions on the voice VLAN. In another test I connected a T21 to the data vlan and called a phone on the voice vlan - only had one way voice as well. Connected to the same voice vlan and everything was great. This leads me to think the issue is perhaps with the T1600G routing between VLANS? Or some misconfiguration on the FreePBX server (I have my local subnets listed in Asterisk SIP and have my 10.0.0.0/8 network trusted in the firewall).

 

The T1600G doesn't have any SIP SLG features and the security features are all disabled so maybe the switch isn't to blame at all. I'm not really sure.

 

I've run out of ideas and am now considering what other options I have. Any thoughts welcome.

 

 


Create new topic
chevrolux
4962 posts

Uber Geek
+1 received by user: 2638
Inactive user


  #2464430 17-Apr-2020 19:17
Send private message

Man it's been a while since I used FreePBX...

 

But I'm going to guess it's a combo of your softphones going via the VPN (rather than through your public IP), and what your NAT settings are set to (the main Asterisk ones in "Advanced Settings" statement is set to. Shouldn't really be anything to do with the VLAN or switch (but on that topic, is t1600G actually layer 3 capable?)

 

And for my unhelpful answer... as a 3CX reseller, I can tell you, 3CX is waaaaaay better and easier in every way, especially for remote workers. Plus they are giving away the 16-channel Pro license away for free for 3 years. Pretty sharp sales pitch, I know.

 

Edit: The only bad news is unless your T21's are the "T21 E2" model they aren't supported devices for 3CX. But all that means is the plug-and-play provisioning won't work, you can still register them to 3CX.




sfrasernz

234 posts

Master Geek
+1 received by user: 13


  #2464431 17-Apr-2020 19:27
Send private message

Yeah I suspect you’re right - must be in my configuration somewhere. What I do like about FreePBX are the powerful IVRs and time based conditions. Works really well but very technical under the hood which makes it difficult in times like this.

I’m considering flattening the network to a single network which may help work around the problem. We are a small business and don’t really need the complexity of the vlans. 10 phones and PCs. 30 CCTV and assorted other devices.

chevrolux
4962 posts

Uber Geek
+1 received by user: 2638
Inactive user


  #2464447 17-Apr-2020 20:46
Send private message

Just a minor thought, are you using chan_sip or pjsip? Back when I thought FreePBX was good, it was all chan_sip, but everyone was excited about pjsip being a more modern library. No idea if it works any better though.

IVR is OK, in FreePBX... But it's better in 3CX, especially when the call flow designer gets involved. For example, we've just done a fully automated IVR for a taxi company that looks up a database, does text-to-speech from Amazon, and then fires off an API call to book a taxi - all with zero coding, just done in a GUI.



sfrasernz

234 posts

Master Geek
+1 received by user: 13


  #2464450 17-Apr-2020 20:56
Send private message

We’re using pjsip. It seems such a simple issue related to the subnets - frustrating. You’ve convinced me to have a closer look at 3cx - the promo they’re running is pretty attractive. I’ll build a quick test server and will see how it goes. It could be a faster solution than working through the issue with freepbx. We do need to have some remote extensions configured asap.

I take it from your earlier comment that 3cx is secure enough to be carefully exposed to the internet to allow clients to register across the internet with the need for VPN access?

speed
296 posts

Ultimate Geek
+1 received by user: 101


  #2464452 17-Apr-2020 21:04
Send private message

The T21 supports capturing a packet trace, and it can't be that hard to install tcpdump on the PBX. I recommend grabbing a packet capture from both ends at the same time during a 1-way audio to provide more information. The answer will be in the traces; if you're not confident interpreting them with Wireshark then you could post them for others to. I'm happy to take a look.


cyril7
9073 posts

Uber Geek
+1 received by user: 2499

ID Verified
Trusted
Subscriber

  #2464544 18-Apr-2020 08:05
Send private message

Hi what sip transport are you using, set it to tcp.

Cyril

 
 
 

Shop now at Mighty Ape (affiliate link).
sfrasernz

234 posts

Master Geek
+1 received by user: 13


  #2464545 18-Apr-2020 08:16
Send private message

It was UDP. Have set for TCP as well but problem persists. Thanks


sfrasernz

234 posts

Master Geek
+1 received by user: 13


  #2465179 19-Apr-2020 07:54
Send private message

With assistance from @chevrolux I've built a 3cx server to work around the issue so the pressure is off.

 

But I'm still curious why in my FreePBX environment I have one-way audio when my phone is on a different subnet from the server. My NAT settings are configured. I also temporarily disabled the FreePBX firewall. 

 

Here is the SIP debug taken from the server with a phone on a different subnet (IPs, Domains and Phone numbers obfuscated). Comparing the log to a call made from a phone on the same subnet there is no difference - except in the tear down which happens as soon as the call is disconnected (when on different subnet it doesn't tear down until 30 seconds has elapsed). 

 

I've looked to debug the RTP but I'm not seeing any output (this goes for all calls so not sure whats going on there).

 

Next I'll install wireshark and will take a look at those traces next. Heres the SIP log in the meantime.

 


Adding codec ulaw to SDP
Adding codec ilbc to SDP
Adding codec gsm to SDP
Adding codec alaw to SDP
Adding non-codec 0x1 (telephone-event) to SDP
Reliably Transmitting (NAT) to [sip_trunk_ip.180]:5060:
INVITE sip:[mobile_ph_number]@[sip_trunk_domain_name] SIP/2.0
Via: SIP/2.0/UDP [external_ip]:5160;branch=z9hG4bK59256bb3;rport
Max-Forwards: 70
From: <sip:[sip_username]@[external_ip]:5160>;tag=as00c5f4c9
To: <sip:[mobile_ph_number]@[sip_trunk_domain_name]>
Contact: <sip:[sip_username]@[external_ip]:5160>
Call-ID: 4f87ec2f0aa291900d452ae305079286@[external_ip]:5160
CSeq: 102 INVITE
User-Agent: FPBX-15.0.16.42(16.6.2)
Date: Sat, 18 Apr 2020 19:21:33 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 345

 

v=0
o=root 1288570109 1288570109 IN IP4 [external_ip]
s=Asterisk PBX 16.6.2
c=IN IP4 [external_ip]
t=0 0
m=audio 19310 RTP/AVP 0 97 3 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:97 iLBC/8000
a=fmtp:97 mode=20
a=rtpmap:3 GSM/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=maxptime:150
a=sendrecv

 

---

 

<--- SIP read from UDP:[sip_trunk_ip.180]:5060 --->
SIP/2.0 100 Attempting to connect your call
Via: SIP/2.0/UDP [external_ip]:5160;branch=z9hG4bK59256bb3;rport=5160;received=[external_ip]
From: <sip:[sip_username]@[external_ip]:5160>;tag=as00c5f4c9
To: <sip:[mobile_ph_number]@[sip_trunk_domain_name]>
Call-ID: 4f87ec2f0aa291900d452ae305079286@[external_ip]:5160
CSeq: 102 INVITE
Content-Length: 0

 

<------------->
--- (7 headers 0 lines) ---

 

<--- SIP read from UDP:[sip_trunk_ip.180]:5060 --->
SIP/2.0 407 Proxy Authentication Required
Via: SIP/2.0/UDP [external_ip]:5160;received=[external_ip];branch=z9hG4bK59256bb3;rport=5160
From: <sip:[sip_username]@[external_ip]:5160>;tag=as00c5f4c9
To: <sip:[mobile_ph_number]@[sip_trunk_domain_name]>;tag=9QUpegUtmcBmN
Call-ID: 4f87ec2f0aa291900d452ae305079286@[external_ip]:5160
CSeq: 102 INVITE
User-Agent: Voyager CVS
Accept: application/sdp
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
Supported: path, replaces
Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer
Proxy-Authenticate: Digest realm="[external_ip]", nonce="ae5ba25a-81a9-11ea-b831-c588db25a860", algorithm=MD5, qop="auth"
Content-Length: 0

 

<------------->
--- (13 headers 0 lines) ---
Transmitting (NAT) to [sip_trunk_ip.180]:5060:
ACK sip:[mobile_ph_number]@[sip_trunk_domain_name] SIP/2.0
Via: SIP/2.0/UDP [external_ip]:5160;branch=z9hG4bK59256bb3;rport
Max-Forwards: 70
From: <sip:[sip_username]@[external_ip]:5160>;tag=as00c5f4c9
To: <sip:[mobile_ph_number]@[sip_trunk_domain_name]>;tag=9QUpegUtmcBmN
Contact: <sip:[sip_username]@[external_ip]:5160>
Call-ID: 4f87ec2f0aa291900d452ae305079286@[external_ip]:5160
CSeq: 102 ACK
User-Agent: FPBX-15.0.16.42(16.6.2)
Content-Length: 0

 


---
Audio is at 19310
Adding codec ulaw to SDP
Adding codec ilbc to SDP
Adding codec gsm to SDP
Adding codec alaw to SDP
Adding non-codec 0x1 (telephone-event) to SDP
Reliably Transmitting (NAT) to [sip_trunk_ip.180]:5060:
INVITE sip:[mobile_ph_number]@[sip_trunk_domain_name] SIP/2.0
Via: SIP/2.0/UDP [external_ip]:5160;branch=z9hG4bK70ed8bc1;rport
Max-Forwards: 70
From: <sip:[sip_username]@[external_ip]:5160>;tag=as00c5f4c9
To: <sip:[mobile_ph_number]@[sip_trunk_domain_name]>
Contact: <sip:[sip_username]@[external_ip]:5160>
Call-ID: 4f87ec2f0aa291900d452ae305079286@[external_ip]:5160
CSeq: 103 INVITE
User-Agent: FPBX-15.0.16.42(16.6.2)
Proxy-Authorization: Digest username="[sip_username]", realm="[external_ip]", algorithm=MD5, uri="sip:[mobile_ph_number]@[sip_trunk_domain_name]", nonce="ae5ba25a-81a9-11ea-b831-c588db25a860", response="abe1964ab6ab038bb4791295b1aea85b", qop=auth, cnonce="56adfc79", nc=00000001
Date: Sat, 18 Apr 2020 19:21:33 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 345

 

v=0
o=root 1288570109 1288570110 IN IP4 [external_ip]
s=Asterisk PBX 16.6.2
c=IN IP4 [external_ip]
t=0 0
m=audio 19310 RTP/AVP 0 97 3 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:97 iLBC/8000
a=fmtp:97 mode=20
a=rtpmap:3 GSM/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=maxptime:150
a=sendrecv

 

---

 

<--- SIP read from UDP:[sip_trunk_ip.180]:5060 --->
SIP/2.0 100 Attempting to connect your call
Via: SIP/2.0/UDP [external_ip]:5160;branch=z9hG4bK70ed8bc1;rport=5160;received=[external_ip]
From: <sip:[sip_username]@[external_ip]:5160>;tag=as00c5f4c9
To: <sip:[mobile_ph_number]@[sip_trunk_domain_name]>
Call-ID: 4f87ec2f0aa291900d452ae305079286@[external_ip]:5160
CSeq: 103 INVITE
Content-Length: 0

 

<------------->
--- (7 headers 0 lines) ---

 

<--- SIP read from UDP:[sip_trunk_ip.180]:5060 --->
SIP/2.0 183 Session Progress
Via: SIP/2.0/UDP [external_ip]:5160;received=[external_ip];branch=z9hG4bK70ed8bc1;rport=5160
Record-Route: <sip:[sip_trunk_ip.180];lr=on;ftag=as00c5f4c9>
From: <sip:[sip_username]@[external_ip]:5160>;tag=as00c5f4c9
To: <sip:[mobile_ph_number]@[sip_trunk_domain_name]>;tag=a1mFgBcyHN16g
Call-ID: 4f87ec2f0aa291900d452ae305079286@[external_ip]:5160
CSeq: 103 INVITE
Contact: <sip:[mobile_ph_number]@[sip_trunk_ip.181]:11000;transport=udp>
User-Agent: Voyager CVS
Accept: application/sdp
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
Supported: path, replaces
Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer
Content-Type: application/sdp
Content-Disposition: session
Content-Length: 220
Remote-Party-ID: "mobile_phone" <sip:[mobile_phone]@[sip_trunk_domain_name]>;party=calling;privacy=off;screen=no

 

v=0
o=FreeSWITCH 1587220565 1587220566 IN IP4 [sip_trunk_ip.181]
s=FreeSWITCH
c=IN IP4 [sip_trunk_ip.181]
t=0 0
m=audio 17076 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
<------------->
--- (17 headers 10 lines) ---
sip_route_dump: route/path hop: <sip:[sip_trunk_ip.180];lr=on;ftag=as00c5f4c9>
Found RTP audio format 0
Found RTP audio format 101
Found audio description format PCMU for ID 0
Found audio description format telephone-event for ID 101
Capabilities: us - (ilbc|gsm|alaw|ulaw), peer - audio=(ulaw)/video=(nothing)/text=(nothing), combined - (ulaw)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event|), peer - 0x1 (telephone-event|), combined - 0x1 (telephone-event|)
Peer audio RTP is at port [sip_trunk_ip.181]:17076

 

<--- SIP read from UDP:[sip_trunk_ip.180]:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP [external_ip]:5160;received=[external_ip];branch=z9hG4bK70ed8bc1;rport=5160
Record-Route: <sip:[sip_trunk_ip.180];lr=on;ftag=as00c5f4c9>
From: <sip:[sip_username]@[external_ip]:5160>;tag=as00c5f4c9
To: <sip:[mobile_ph_number]@[sip_trunk_domain_name]>;tag=a1mFgBcyHN16g
Call-ID: 4f87ec2f0aa291900d452ae305079286@[external_ip]:5160
CSeq: 103 INVITE
Contact: <sip:[mobile_ph_number]@[sip_trunk_ip.181]:11000;transport=udp>
User-Agent: Voyager CVS
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
Supported: path, replaces
Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer
Content-Type: application/sdp
Content-Disposition: session
Content-Length: 220
Remote-Party-ID: "mobile_phone" <sip:mobile_phone@[sip_trunk_domain_name]>;party=calling;privacy=off;screen=no

 

v=0
o=FreeSWITCH 1587220565 1587220566 IN IP4 [sip_trunk_ip.181]
s=FreeSWITCH
c=IN IP4 [sip_trunk_ip.181]
t=0 0
m=audio 17076 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
<------------->
--- (16 headers 10 lines) ---
sip_route_dump: route/path hop: <sip:[sip_trunk_ip.180];lr=on;ftag=as00c5f4c9>
Transmitting (NAT) to [sip_trunk_ip.180]:5060:
ACK sip:[mobile_ph_number]@[sip_trunk_ip.181]:11000;transport=udp SIP/2.0
Via: SIP/2.0/UDP [external_ip]:5160;branch=z9hG4bK15596ea4;rport
Route: <sip:[sip_trunk_ip.180];lr=on;ftag=as00c5f4c9>
Max-Forwards: 70
From: <sip:[sip_username]@[external_ip]:5160>;tag=as00c5f4c9
To: <sip:[mobile_ph_number]@[sip_trunk_domain_name]>;tag=a1mFgBcyHN16g
Contact: <sip:[sip_username]@[external_ip]:5160>
Call-ID: 4f87ec2f0aa291900d452ae305079286@[external_ip]:5160
CSeq: 103 ACK
User-Agent: FPBX-15.0.16.42(16.6.2)
Content-Length: 0

 


---

 

<--- SIP read from UDP:[sip_trunk_ip.180]:5060 --->
BYE sip:[sip_username]@[external_ip]:5160 SIP/2.0
Via: SIP/2.0/UDP [sip_trunk_ip.180];branch=z9hG4bK0455.5d123f018644deac22fcc1e6d66baac2.0
Via: SIP/2.0/UDP [sip_trunk_ip.181]:11000;received=[sip_trunk_ip.181];rport=11000;branch=z9hG4bKgcBXt3KXaDNXj
Max-Forwards: 50
From: <sip:[mobile_ph_number]@[sip_trunk_domain_name]>;tag=a1mFgBcyHN16g
To: <sip:[sip_username]@[external_ip]:5160>;tag=as00c5f4c9
Call-ID: 4f87ec2f0aa291900d452ae305079286@[external_ip]:5160
CSeq: 19065032 BYE
User-Agent: Voyager CVS
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
Supported: path, replaces
Reason: SIP;text="OK"
Content-Length: 0

 

<------------->
--- (13 headers 0 lines) ---
Sending to [sip_trunk_ip.180]:5060 (NAT)
Scheduling destruction of SIP dialog '4f87ec2f0aa291900d452ae305079286@[external_ip]:5160' in 32000 ms (Method: BYE)

 

<--- Transmitting (NAT) to [sip_trunk_ip.180]:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP [sip_trunk_ip.180];branch=z9hG4bK0455.5d123f018644deac22fcc1e6d66baac2.0;received=[sip_trunk_ip.180];rport=5060
Via: SIP/2.0/UDP [sip_trunk_ip.181]:11000;received=[sip_trunk_ip.181];rport=11000;branch=z9hG4bKgcBXt3KXaDNXj
From: <sip:[mobile_ph_number]@[sip_trunk_domain_name]>;tag=a1mFgBcyHN16g
To: <sip:[sip_username]@[external_ip]:5160>;tag=as00c5f4c9
Call-ID: 4f87ec2f0aa291900d452ae305079286@[external_ip]:5160
CSeq: 19065032 BYE
Server: FPBX-15.0.16.42(16.6.2)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Content-Length: 0

 


<------------>

 

 

 

 


sfrasernz

234 posts

Master Geek
+1 received by user: 13


  #2465184 19-Apr-2020 08:25
Send private message

Ok...well seems it is definitely NAT related.

 

 

 

v=0
o=- 49268895 356523602 IN IP4 public_ip_address  (it should be my internal IP address)
s=Asterisk
c=IN IP4 public_ip_address
t=0 0
m=audio 14998 RTP/AVP 0 8 3 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:3 GSM/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=maxptime:150
a=sendrecv
m=video 0 RTP/AVP 34

 

 

 

At least I know where to look now.


sbiddle
30853 posts

Uber Geek
+1 received by user: 9996

Retired Mod
Trusted
Biddle Corp
Lifetime subscriber

  #2465185 19-Apr-2020 08:32
Send private message

What do you have your extension settings set to, particularly important ones like rewrite contact (which should be set to yes in most situations)?

 

 

 

 


sfrasernz

234 posts

Master Geek
+1 received by user: 13


  #2465242 19-Apr-2020 10:07
Send private message

FIXED!! Phew.... 

 

Thanks for the tips Steve but it wasn't the Contact Rewrite. It was the local subnets in the SIP configuration which despite being set didn't appear to be having any effect. I removed the individual local subnets...readded a single subnet with a /16...rebooted (which I think is critical)...retested and works as expected.

 

I now have two options of PBX now :-)   All is setup and working with 3CX so will leave it like that while I look into the Call Flow Designer and CRM integration. It would be awesome to have the phones integrate to our CRM.

 

Thanks for the feedback.





AMD X2 5000+ | HVR-2200 | MSI 8500GT Silent | 500GB SATA | Vista Ent. | GB-PVR


Create new topic








Geekzone Live »

Try automatic live updates from Geekzone directly in your browser, without refreshing the page, with Geekzone Live now.



Are you subscribed to our RSS feed? You can download the latest headlines and summaries from our stories directly to your computer or smartphone by using a feed reader.