-
Notifications
You must be signed in to change notification settings - Fork 7
UniFi Talk Notes
UniFi Talk is a React app written in Node.js that configures a running instance of FreeSWITCH (FS) by making API calls to it.
In the Talk System Settings there is a way to add third-party SIP providers. Start by giving the provider a name, then add the fields you need, most providers need at least the following:
- realm
- username
- password
- register
For a complete reference on the available fields and values, see here: https://freeswitch.org/confluence/display/FREESWITCH/Sofia+Configuration+Files
After configuring the fields, you'll need to add your DID numbers using the +E.164 format without any spaces. Even though spaces appear in the numbers displayed in the GUI after entering them, if you add spaces to the numbers yourself then FS won't be able to route incoming calls. This applies to numbers entered individually or imported from a TXT file.
Finally, add your SIP provider's IP addresses to the ACL list. This is not doing anything with the UniFi Network firewall, this is only adding the IP addresses to an allow list in the internal FS config. You'll still want to allow the IP addresses and appropriate ports in your firewall config.
If your SIP provider needs to send SIP option pings to your Talk instance, then you'll want to enable the Static Signaling Port option in Talk. Make sure your SIP provider sends options/invites to your IP on port 6767, and additionally setup a port forward in UniFi Network to send port 6767 to your Talk instance. If you are using a UDMP as the firewall and running Talk as well, this port forward rule should point to the LAN IP of the UDMP itself.
You'll also need to accept RTP media traffic from your SIP provider by creating a firewall rule in UniFi Network under the WAN/Internet Local ruleset. Create an IP address group for your SIP provider's RTP servers, and a port group for the RTP media ports they use. Accept UDP traffic with the address group in the source and the port group in the destination.