iOS Bria app no sound

Hello All,

I have the Bria app on my iPhone installed. It’s registered with our FreePBX.

The problem I have: If I want to make a call from external, it rings, but when the call is answered I have no audio. If I use Bria internal I have no problem with audio. So I guess there is a firewall issue with audio.

In the asterisk settings RTP port ranges is from 14500 - 16500. The same port range is open as a port forward to FreePBXon on the pfsense firewall.

I’m not sure if RTP port is really the issue that I have no audio. I configured the RTP port on the Bria app too.

Any idea why I have no audio calling from external (Bria remains registered all the time)?


On the extension, did you set NAT - Yes?

One way audio is almost always a NAT configuration problem.

Check your phone and make sure NAT is turned on.
In the extension configuration, make sure NAT is also turned on.

If required, you might also need to add a STUN server reference. A better solution (if that ends up being the case) is to add a VPN client back to your server so that you can get the phone on the “local” network regardless of where you are in the world.

For the extension NAT wasn’t turned on. Now it is YES. No difference.

How to set NAT on on the phone? Bria app. I can’t find anything.


I would do a packet capture on the firewall to see what happens to the rtp packets and if they even arrive.

I believe I’ve ran into this before with Bria specifically, so it’s worth a shot.

Make sure no encryption settings are enabled, TLS or SRTP, on the extension registered to Bria.

Transport = ALL - UDP Primary
Enable Encryption = No

Thanks precisionbs - These setting on the extensions registered to Bria were all fine. I’m sure it must just a be a setting. I can see on the pfsense firewall log UDP in the range of 14500 - 16500 are passed to the correct IP which is the FreePBX machine. So it looks like there is some traffic.

I’d take a desktop phone off of the LAN, register the Bria extension to the desktop, and see if you’re still having issues. If so, I’d have to agree with the other users on NAT. If not, you know it’s a Bria setting.

I’m also have the same issue. Mine started since Bria decided to change over to APN Push Notifications only on the IOS side. Originally we were fully intranet only but since you have to open your box up to at least Bria on the outside world since they won’t allow you to install your own SIPIS server locally for push notifications. We are currently trying to get Bria to work over cellular. When a user calls in neither party can hear anything but if you open the PCAP files you have audio on internal extension side at least. I have a remote user that can make calls from his home that is on an allowed IP list and our Bria setup is using the same firewall rules as him so RTP can stream just not working with Bria.

An additional note the Bria app works on the Remote Office wifi when calling in. So its something about originating from a cellular IP. We can see the phone register via CLI while on Cellular and get a pcap capture. Still trying to figure out how to read the pcap in wireshark to figure out RPT paths as far as where it says its coming from and where its sending the audio too. Would I have more than one PCAP per call? One for both audio legs?

In our case Bria registers fine with FreePBX regardless where the user is. However audio is only working in the same network where FreePBX is.

Is there any other VoIP app for iOS which you could recommend?

So it does create 2 separate PCAP files for each leg. What I find odd in the file below is the contact URI as it lists yet we don’t use that IP range internally. Up higher in the file it does list my iPhone and our internal vlan IP info correctly. Not sure if thats part of the issue or not. Does freepbx have an area to specify where to send external RPT to like a different IP and if blank it subs that IP?

“Frame 17: 559 bytes on wire (4472 bits), 559 bytes captured (4472 bits)
Encapsulation type: Ethernet (1)
Arrival Time: Apr 24, 2018 11:36:23.330813000 CDT
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 1524587783.330813000 seconds
[Time delta from previous captured frame: 0.000287000 seconds]
[Time delta from previous displayed frame: 0.000287000 seconds]
[Time since reference or first frame: 4.305026000 seconds]
Frame Number: 17
Frame Length: 559 bytes (4472 bits)
Capture Length: 559 bytes (4472 bits)
[Frame is marked; False]
[Frame is ignored; False]
[Protocols in frame: eth:ethertype:ip:udp:sip]
[Coloring Rule Name: UDP]
[Coloring Rule String: udp]
Ethernet II, Src: 08:5b:0e:b3:39:c4, Dst: 00:50:56:bf:75:8d
Destination: 00:50:56:bf:75:8d
Address: 00:50:56:bf:75:8d
… …0. … … … … = LG bit: Globally unique address (factory default)
… …0 … … … … = IG bit: Individual address (unicast)
Source: 08:5b:0e:b3:39:c4
Address: 08:5b:0e:b3:39:c4
… …0. … … … … = LG bit: Globally unique address (factory default)
… …0 … … … … = IG bit: Individual address (unicast)
Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: “External iPhone IP” Dst: 172.16.x.x “Internal VLAN IP”
0100 … = Version: 4
… 0101 = Header Length: 20 bytes (5)
Differentiated Services Field; 0x00 (DSCP: CS0, ECN: Not-ECT)
Total Length: 545
Identification: 0x94ce (38094)
Flags: 0x02 (Don’t Fragment)
Fragment offset: 0
Time to live: 64
Protocol: UDP (17)
Header checksum: 0xd4b0 [validation disabled]
[Header checksum status: Unverified]
[Source GeoIP: Unknown]
[Destination GeoIP: Unknown]
User Datagram Protocol, Src Port: 37257, Dst Port: 5060
Source Port: 37257
Destination Port: 5060
Length: 525
Checksum: 0xc122 [unverified]
[Checksum Status: Unverified]
[Stream index: 0]
Session Initiation Protocol (ACK)
Request-Line: ACK SIP;5155#172.16.x.x:5060 SIP/2.0
Message Header
Via: SIP/2.0/UDP;branch=z9hG4bK-524287-1—441ead259264f700
Transport: UDP
Sent-by Address:
Sent-by port: 50000
Branch: z9hG4bK-524287-1—441ead259264f700
Max-Forwards: 70
Contact: <SIP;5115#>;+sip.instance=”<URNuuid;a6aaf158-5f85-4d5a-8092-1837ae9fa112>"
Contact URI: SIP;5115#
Contact URI User Part: 5115
Contact URI Host Part:
Contact URI Host Port: 50000
Contact parameter: +sip.instance="<URNuuid;a6aaf158-5f85-4d5a-8092-1837ae9fa112>"\r\n
To: <SIP;5155#telefon.FQDN.url;user=phone>;tag=as5a32d22d
SIP to address: SIP;5155#telefon.FQDN.url;user=phone
SIP to tag: as5a32d22d
From: “Person Name”<SIP;5115#telefon.FQDN.url>;tag=e958f337
SIP Display info: “Person Name”
SIP from address: SIP;5115#telefon.FQDN.url
SIP from tag: e958f337
CSeq: 2 ACK
Sequence Number: 2
Method; ACK
User-Agent: Bria X iOS release 5.1.4 stamp 40580.40580
Content-Length: 0"

I have used GroundWire but have reservations about using them with the Apple Push Notifications as with that method the app provider will register against your PBX on your behalf. Not sure I want to allow another country access to my PBX box on an uncontrolled basis. Sounds like things could get expensive quick with no legal recourse since they are outside the USA.

I just got GroundWire working on cellular with audio. Basically I created a new account within the list I picked Callcentric as they use freepbx boxes from what I could tell. Input false info for name, phone number and secret. After creating the extension I changed the Domain, Proxy and disabled NAT. With that I was able to register and make a call with audio. Your setting could be different. The extension in FreePBX does have NAT enabled.

I just would like to mention that I got my app working with the help of a Bria support person. We tried various things and nothing works. Just before I wanted to give up the technician said let’s try one last thing. To disable all codec and enable just one. Codex G711u worked!! I can make now calls from external via my PBX system. I can receive calls even my iPhone is on sleep.

Thanks for the update. We went ahead and steamed forward with GroundWire. Must say we are very happy with it. I like the fact the wakeup push notifications works like a champ. Issue with Bria was all users had to make sure to open the open and establish a connection every day when they got in the office and if they suspected they went outside wifi range as the app wouldn’t reconnect on its own. Plus it supports the HD codec so the audio quality is unbelievable. Sounds like they are in the same room with you. I also like its a one time fee and we don’t have to pay every month.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.