Interop List

From FreeSWITCH Wiki
Jump to: navigation, search




Warning

This page was converted to Confluence April 30 2014. The new page is located at: https://confluence.freeswitch.org/display/FREESWITCH/Interoperability

 




Contents


This is where we need to list all devices that have worked successfully with FreeSWITCH.

Please make sure that you have the following criteria in your phone review:

  • Registration: work/do not work
  • Caller Id: work/do not work
  • Call in/out: work/do not work
  • Call waiting: work/do not work
  • Transfer calls: work/do not work
  • Park calls: work/do not work

This grid shows the tested features of various devices. Device-specific notes are found below.

Feature Grid

This information is being merged into a feature grid, see Interop List Scratchpad

ENTRIES TO UPDATE

Please make sure you put the following entries

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: work
  • Park calls:
  • MWI:
  • SRTP:
  • TLS:
  • Video:
  • SIMPLE:

2n

2n make a range of Cellular Gateways with varying interface options (SIP/PRI/BRI/FXS). The Voiceblue Lite is available in either 2 or 4 SIM variations and interfaces over SIP.

Voiceblue Lite

Firmware 02.07.34

  • Registration: Not Tested - Setup as a pure SIP peer with no registration
  • Caller Id: Works
  • Call in/out: Works
  • Call waiting: Not Tested
  • Transfer calls: Works
  • Park calls: N/A

2n Voiceblue Lite Config

Aastra Products

Later than 2.3.1, Aastra Phones (55i, 57i) are working very well behind NAT, tested with rport enabled, very reliable, and also connecting with proxy/registrar ports other than 5060. These have been tested with firmwares later than 2.3.1. The latest firmware 2.4.1 is the best with correct G.722 support, also supporting many other wideband Codecs.

If you are having trouble with registering or dialing from behind a NAT with an Aastra Phone, in the phone's web interface try enabling the rport option on the Advanced/Network page. Also, when trying to use a port other than 5060 behind a NAT, on the Advanced/Global SIP page you might try changing "Local SIP UDP/TCP Port" to whatever port you are registering on with your Line settings. This lets the FreeSWITCH server return SIP traffic on the same port your phone sent SIP traffic out on.

Enabling STUN support may also help on the newer firmwares.

Presence Support

A lot of users have complained about presence not working properly with Aastra phones. Currently, changing the transport from UDP to TCP seems to resolve these issues. This has been tested against firmware 2.6.0 all model Aastra phones.

Codec Support

Aastra phones support many broadband codecs all have been tested and working except BV32. BV32 does not work properly on all Aastra models. This appears to be an Aastra issue, and not related to FreeSWITCH.

Aastra TLS Setup

Just specify where the trusted certificate file (the one generated in TLS step #2) is located.

sips trusted certificates: ftp://admin:admin!@1.2.3.4:50/path/cacert.pem
sips persistent tls: 1

Aastra 6739i

Using firmware version 3.0.1.2031, G.722, SRTP and TLS works

tftp server: 1.2.3.4
sip customized codec: payload=9;ptime=30;silsupp=on
sip srtp mode: 2
sips trusted certificates: cacert.pem
sip transport protocol: 4
sips persistent tls: 1

Aastra 55i

SRTP in Preferred mode doesn't work. G.722 is working correctly with latest firmware 2.4.1 TLS not tested.

Aastra 57i

TLS not working

Aastra 480i CT

No TLS in 1.4.3 firmware.

Aastra 9112i

Working fine on basic tests with firmware 1.4.0.1048. If you get the ptime warning you should, in theory, be able to fix it with 'ptime=20' in the Customized Codec Preference List settings, but mine seemed to go away of its own accord.

Aastra IP-DECT (RFP 32)

  • Registration: Deregister doesn't work cleanly. But there is a patch in Jira to get it working.
  • Caller Id: Works
  • Call in/out: Works
  • Call waiting: works
  • Transfer calls: works
  • Park calls: Works

Tested with RFP 32 and RFP 34(Outdoor) base stations. The good thing with these phones is, that you can add multiple base stations to a DECT cluster. Each base station then acts also as a DECT repeater, so no additional repeaters are necessary. Central provisioning is not working so far, but is announced by Aastra.

Aastra 6757i

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: not tested
  • Park calls: not tested
  • MWI: not tested
  • SRTP: not tested
  • TLS: not tested

ACN

Iris 3000

Video phone that was used by ACN, but once unlocked the following features below seem to work:

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: not tested
  • Park calls: not tested
  • MWI: not tested
  • SRTP: not tested
  • TLS: not tested
  • Video: not tested

Asterisk

Please refer to: Connecting Freeswitch and Asterisk

AudioCodes

Audiocodes has a few lines of equipment:

  • FXS/FXO gateways (MP series).
  • PRI gateways (Mediant series).
  • Newly announces IP phones (currently two models: HD310, HD320).

FXS/FXO gateways

  • AudioCodes MediaPack MP114 FXS SIP
  • AudioCodes MediaPack MP118 FXS SIP
  • AudioCodes MediaPack MP118 8-FXO SIP

We had to add the IP of the FreeSWITCH sip server as the "Gateway Registration Name" and "Gateway Name" inside of the MediaPack. Default internal SIP profile without "suppress-cng" ="true", will cause terrible background noise heard on the internal SIP phones, when working with MP118 FXO

  • AudioCodes MediaPack MP118 4-FXS/4-FXO SIP Mixed Configuration. Inbound routing with CallerID, outbound routing and internal extensions work. with:sip_profiles/internal.xml: <param name="suppress-cng" value="false"/>

PRI gateways

The Mediant series is intended for PRI to SIP/H.323 gateways. It has a few modular and non-modular configurations, ranging from 1 E1/T1 to 16xE1/T1.

I had it for loan for a week - it looks OK, but I didn't have the chance to fully evaluate it in production.

IP phones

The IP phones product line is in GA phase (general availability), is targeted for various go to markets (hosted environments, contact centers, Asterisk community iPBX, independent 3rd party iPBX vendors). AudioCodes are willing to make changes necessary for Freeswitch support (more details at the phone specific details).

The 310HD model is an entry level phone intended for the simple user and is ready for production use. The 320HD is intended for the more sophisticated user (mid range phone), and some needed features are still in development/fixing (like BLF, SLA, soft keys).

The two models are:

310HD - A one line phone (2 concurrent calls per line ) with 10 speed dial keys:

  • Registration: Works. Deregister doesn't work cleanly.
  • Caller Id: Works. RPID also works.
  • Call in/out: Works
  • Call waiting: works
  • Transfer calls: works
  • Park calls: N/A

320HD - A 4 lines phone (2 concurrent calls per line ) with 12 LED speed dial/BLF keys.

  • Registration: Works. Deregister doesn't work cleanly.
  • Caller Id: Works. RPID also works.
  • Call in/out: Works
  • Call waiting: works
  • Transfer calls: works
  • Park calls: N/A

Avaya

Avaya 4610SW IP

October 2010: SIP-Firmware: 2.2.2 This phone works once the SIP firmware has been installed. The only issue I came across was that after some time, the phone would no longer make or receive calls. The problem was that it doesn't like the "Notify: Messages-waiting" messages. Disable these with: <param name="send-message-query-on-register" value="false"/>

Avaya one-X Deskphone Edition 9630

July 2009: SIP-Firmware: 2.4.1

Summary:

  • Registration: works with SIP over UDP, TCP and TLS
  • Caller Id: not tested
  • Call in/out: not tested
  • Call waiting: not tested
  • Transfer calls: not tested
  • Park calls: not tested
  • SRTP works
  • TLS works
  • DTMF not tested

Looking at TLS: Just edit 46xxsettings and enable every option saying something about TLS and SRTP. For SRTP, I enabled "1,2". Also don´t let the certificate be checked. There´s a strange "SIP/2.0 489 Bad Event" at the end. I don´t know what this mean. But speech is coming through.

------------------------------------------------------------------------
recv 602 bytes from tls/[217.229.163.167]:64185 at 12:45:51.745007:
------------------------------------------------------------------------
REGISTER sips:10.10.2.110 SIP/2.0
From: sips:1000@10.10.2.110;tag=-5159386d4396-8_F192.168.178.29
To: sips:1000@10.10.2.110
Call-ID: 1_909-5f0974b1386d4ca0_R@192.168.178.29
CSeq: 1 REGISTER
Via: SIP/2.0/TLS 192.168.178.29:5061;branch=z9hG4bK1_90a4615b657386d4ca8_R
Content-Length: 0
Max-Forwards: 70
Contact: <sips:1000@192.168.178.29:5061;avaya-sc-enabled;transport=tls>;q=1;expires=900;reg-id=1;+sip.instance="<urn:uuid:00000000-0000-1000-8000-00040dec6f47>"
Allow: INVITE,CANCEL,BYE,ACK,SUBSCRIBE,NOTIFY,INFO,REFER,UPDATE
User-Agent: Avaya one-X Deskphone
Supported: replaces

------------------------------------------------------------------------
send 682 bytes to tls/[217.229.163.167]:64185 at 12:45:51.774765:
------------------------------------------------------------------------
SIP/2.0 401 Unauthorized
Via: SIP/2.0/TLS 192.168.178.29:5061;branch=z9hG4bK1_90a4615b657386d4ca8_R;received=217.229.163.167;rport=64185
From: sips:1000@10.10.2.110;tag=-5159386d4396-8_F192.168.178.29
To: <sips:1000@10.10.2.110>;tag=UppKgDDyQ5Htj
Call-ID: 1_909-5f0974b1386d4ca0_R@192.168.178.29
CSeq: 1 REGISTER
User-Agent: FreeSWITCH-mod_sofia/1.0.3-exported
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, SUBSCRIBE, NOTIFY, REFER, UPDATE, REGISTER, INFO, PUBLISH
Supported: timer, precondition, path, replaces
WWW-Authenticate: Digest realm="10.10.2.110", nonce="15f89e68-7919-11de-9d59-cd93c0224397", algorithm=MD5, qop="auth"
Content-Length: 0

------------------------------------------------------------------------
recv 828 bytes from tls/[217.229.163.167]:64185 at 12:45:51.917601:
------------------------------------------------------------------------
REGISTER sips:10.10.2.110 SIP/2.0
From: sips:1000@10.10.2.110;tag=-5159386d4396-8_F192.168.178.29
To: sips:1000@10.10.2.110
Call-ID: 1_909-5f0974b1386d4ca0_R@192.168.178.29
CSeq: 2 REGISTER
Via: SIP/2.0/TLS 192.168.178.29:5061;branch=z9hG4bK1_9194615b657386d4cb6_R
Content-Length: 0
Max-Forwards: 70
Contact: <sips:1000@192.168.178.29:5061;avaya-sc-enabled;transport=tls>;q=1;expires=900;reg-id=1;+sip.instance="<urn:uuid:00000000-0000-1000-8000-00040dec6f47>"
Allow: INVITE,CANCEL,BYE,ACK,SUBSCRIBE,NOTIFY,INFO,REFER,UPDATE
User-Agent: Avaya one-X Deskphone
Supported: replaces
Authorization: Digest username="1000",realm="10.10.2.110",nonce="15f89e68-7919-11de-9d59-cd93c0224397",uri="sips:10.10.2.110",response="d12f1e667616d17679af37305ea6244d",cnonce="0a4f113b",opaque="",qop=auth,nc=00000003

------------------------------------------------------------------------
send 749 bytes to tls/[217.229.163.167]:64185 at 12:45:51.918442:
------------------------------------------------------------------------
SIP/2.0 200 OK
Via: SIP/2.0/TLS 192.168.178.29:5061;branch=z9hG4bK1_9194615b657386d4cb6_R;received=217.229.163.167;rport=64185
From: sips:1000@10.10.2.110;tag=-5159386d4396-8_F192.168.178.29
To: <sips:1000@10.10.2.110>;tag=vZFcj8X1me8ce
Call-ID: 1_909-5f0974b1386d4ca0_R@192.168.178.29
CSeq: 2 REGISTER
Contact: <sips:1000@192.168.178.29:5061;avaya-sc-enabled;transport=tls>;q=1;expires=900;reg-id=1;+sip.instance="<urn:uuid:00000000-0000-1000-8000-00040dec6f47>"
Date: Sat, 25 Jul 2009 12:45:51 GMT
User-Agent: FreeSWITCH-mod_sofia/1.0.3-exported
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, SUBSCRIBE, NOTIFY, REFER, UPDATE, REGISTER, INFO, PUBLISH
Supported: timer, precondition, path, replaces
Content-Length: 0

------------------------------------------------------------------------
send 923 bytes to tls/[217.229.163.167]:64185 at 12:45:52.011114:
------------------------------------------------------------------------
NOTIFY sips:1000@217.229.163.167:64185;avaya-sc-enabled;transport=tls SIP/2.0
Via: SIP/2.0/TLS 10.10.2.110;branch=z9hG4bKt6pU4cB5X8mQp
Max-Forwards: 70
From: <sip:1000@10.10.2.110>;tag=X884K3e5HQyZS
To: <sip:1000@10.10.2.110>
Call-ID: ed7f6f71-f3bb-122c-bf99-00242129f20e
CSeq: 118144640 NOTIFY
Contact: <sip:mod_sofia@10.10.2.110:5060>
User-Agent: FreeSWITCH-mod_sofia/1.0.3-exported
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, SUBSCRIBE, NOTIFY, REFER, UPDATE, REGISTER, INFO, PUBLISH
Supported: timer, precondition, path, replaces
Event: message-summary
Allow-Events: talk, presence, dialog, call-info, sla, include-session-description, presence.winfo, message-summary, refer
Subscription-State: terminated;timeout
Content-Type: application/simple-message-summary
Content-Length: 93

Messages-Waiting: yes
Message-Account: sip:1000@10.10.2.110
Voice-Message: 1/0 (0/0)

------------------------------------------------------------------------
recv 540 bytes from tls/[217.229.163.167]:64185 at 12:45:52.599178:
------------------------------------------------------------------------
SUBSCRIBE sips:1000@10.10.2.110 SIP/2.0
From: sips:1000@10.10.2.110;tag=383b386d4397386d4cf7_F192.168.178.29
To: sips:1000@10.10.2.110
Call-ID: 1_95f4a3e5629386d4cff_S@192.168.178.29
CSeq: 1 SUBSCRIBE
Via: SIP/2.0/TLS 192.168.178.29:5061;branch=z9hG4bK1_95f-10a27ec3386d4cfd_S
Content-Length: 0
Max-Forwards: 70
Contact: <sips:1000@192.168.178.29:5061;transport=tls>
Event: avaya-cm-feature-status
Accept: application/avaya-cm-feature-status+xml
Expires: 86400
User-Agent: Avaya one-X Deskphone
Supported: replaces

------------------------------------------------------------------------
send 686 bytes to tls/[217.229.163.167]:64185 at 12:45:52.599339:
------------------------------------------------------------------------
SIP/2.0 489 Bad Event
Via: SIP/2.0/TLS 192.168.178.29:5061;branch=z9hG4bK1_95f-10a27ec3386d4cfd_S;received=217.229.163.167;rport=64185
From: sips:1000@10.10.2.110;tag=383b386d4397386d4cf7_F192.168.178.29
To: <sips:1000@10.10.2.110>;tag=yH2XNyZ8e0mjN
Call-ID: 1_95f4a3e5629386d4cff_S@192.168.178.29
CSeq: 1 SUBSCRIBE
User-Agent: FreeSWITCH-mod_sofia/1.0.3-exported
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, SUBSCRIBE, NOTIFY, REFER, UPDATE, REGISTER, INFO, PUBLISH
Supported: timer, precondition, path, replaces
Allow-Events: talk, presence, dialog, call-info, sla, include-session-description, presence.winfo, message-summary, refer
Content-Length: 0

------------------------------------------------------------------------

Cisco Products

Cisco has SIP images for both old and new generations of their phones. All of them have been reported to work by many people on the IRC channel. There has been many issues with the older Cisco SIP implementations (buggy and non-RFC), but almost all have workarounds in FreeSWITCH. Firmware versions up through 8.5.3 can be found here.

For SCCP (aka Skinny) interop list, look at mod_skinny#Interop List

Cisco ATA 186

  • Registration: Works
  • Caller Id: Not tested
  • Call in/out: Works
  • Fax over G.711: Works

Cisco SPA 112

  • Registration: Works
  • Caller Id: Not tested
  • Call in/out: Not tested
  • Fax over G.711: Not tested

For TLS:

Follow directions at the following link: https://supportforums.cisco.com/docs/DOC-9852. Then...

cat `file.crt` `file.key` > agent.pem

cp `combinedca.crt` cafile.pem

And in the sip profile you need to use sslv23 not tlsv1.

<param name="tls-version" value=sslv23"/>

Cisco 7905/7912

  • Registration: Works
  • Caller Id: Works
  • Call in/out: Works
  • MWI (Message Waiting Indicator): Works
  • Other features not yet tested

Cisco 7941

Tested with firmware versions 8.5.2 and 8.4.12.

  • Registration: Works
  • Caller Id: Works
  • Call in/out: Works
  • Call waiting: Works
  • Transfer calls: Works
  • Park calls: Works
  • BLF (Busy Lamp Field): Works
  • MWI (Message Waiting Indicator): Works

Example 7941 Config

Cisco 7940

  • Registration: Works
  • Caller Id: Works
  • Call in/out: Works
  • Call waiting: Works
  • Transfer calls: Works
  • Park calls: Works

Cisco 7940G

  • Registration: Works
  • Caller Id: Works
  • Call in/out: Works
  • Call waiting: Works
  • Transfer calls: Works
  • Park calls: Works

Cisco 7960G and/or 7960

  • Registration: Works
  • Caller Id: Works
  • Call in/out: Works
  • Call waiting: Works
  • Transfer calls: Works (see dialplan below)
  • Park calls: Unknown / Untested
  • Firmware: App Load: P0S3-08-8-00 / Boot Load: PC030301 / DSP Load: 4.0(2.0)[A0]

See also: Freeswitch Cisco 7960G Howto

Cisco 7961

Tested with firmware version 8.5.2SR1.

  • Registration: Works
  • Caller Id: Works
  • Call in/out: Works
  • Call waiting: Works
  • Transfer calls: Works
  • Park calls: Works
  • BLF (Busy Lamp Field): Works
  • MWI (Message Waiting Indicator): Works

Cisco 7945/7965/7970

Latest tested build: SIP45.8-5-2S.loads (8.5.2)

Busy Lamp Field display is not currently supported as of FreeSWITCH 1.0.3.

Wideband codec support works well on phone-to-phone, IVR, auto attendant and SIP trunk calls.
If you are having issues with proper codec selection, make sure your XML IP phone configuration contains: <preferredCodec>none</preferredCodec>
Also, make sure your internal SIP profile (sip_profiles/internal.xml) contains: <param name="inbound-codec-negotiation" value="greedy"/>
To debug your codec selection and call quality, you can press the Help button (blue question) twice in a row quickly during a call for detailed statistics.

  • Registration: Works
  • Caller Id: Works
  • Call in/out: Works
  • Call waiting: Works
  • Transfer calls: Works
  • Park calls: Works
A sample XML configuration with troubleshooting instructions are available here: Cisco Sample XML Config

Cisco SPA50X/SPA30X

Tested with firmware version 7.5.1a and 7.5.4

  • Registration: Works
  • Caller Id: Works
  • Call in/out: Works
  • Call waiting: Works
  • Transfer calls: Works
  • Park calls: Works
  • BLF (Busy Lamp Field): Works
  • MWI (Message Waiting Indicator): Works

For Cisco SPA 5xx/3xx phones, I had to do quite a bit of NAT setup. Login to phone through web interface as ADMIN default password is 456. Click "advanced" in top right corner. Click on the SIP tab. Scroll down to the NAT Support Parameters section. I set the first 6 dropdown boxes to YES. They are Handle VIA received, Handle VIA rport, Insert VIA received, Insert VIA rport, Substitue VIA Addr, and Send Resp to Src Port. They may NOT all be required, but it worked like this.

I also found on many routers, that NAT requires unique local SIP ports. On each extension tab (Ext 1, Ext 2, ...) that you register with FreeSwitch, scroll down to the SIP Settings and set the SIP Port to a Unique Number (at least unique on this phone).

Cisco Unified CallManager Express (UC500/UC520 and ISR router platforms)

Latest tested versions:
Cisco IOS 12.4(24)T - UCME 7.1 T Train build (uc500-advipservicesk9-mz.124-24.T.bin)
Cisco IOS 12.4(22)YB3 - UCME 7.1 Special build (uc500-advipservicesk9-mz.124-22.YB3.bin)

The Cisco UC520 is a fairly flexible PBX geared for small businesses; and the Cisco IOS SIP stack it uses seems to be reasonably compatible with FreeSWITCH without too much messing around. Cisco Integrated Services Routers, such as the 1861, 2800, 3800 can also connect to FreeSWITCH using Unified CallManager Express as PBX or using Cisco Unified Border Element as a session border controller.

  • Registration: Works
  • Caller Id: Works
  • Call in/out: Works
  • Call waiting: Works
  • Transfer calls: Works
  • Park calls: Works


See also: Cisco UC520 Howto

D-Link Products

D-Link DIV-140

In general not very functional, with little technical support. Have never been able to actually dial out on the box, and there does not seem to be any way to have it automatically dial a call on a PSTN line. The documentation is quite terrible.

D-Link DPH-150S

  • Registration: work
  • Caller Id: work
  • Call in/out: work
  • Call waiting: work
  • Transfer calls: work
  • Park calls: work

It is a great phone with a cool design. Althought it is a little hard to become familiar with function buttons. Setting up is very easy using web interface. For connecting to SIP provider use only WAN interface.

DUALphone 3081

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: works
  • Park calls: unknown

Linksys Products

Notes:

  • Linksys products from Linksys Voice System line work just fine with FreeSWITCH. Majority of PBX functions made to work with SPA 9000 Linksys PBX can be used with FreeSWITCH. Since newest phone firmware version (6.1.3a), support is added for BLF on 942s and 962s for idle line keys and SRTP per RFC 4568 (both tested and working).
  • Most Linksys products has RTP Packet size set to 0.30 by default. Ensure your RTP packet size is set to 0.020 under the SIP -> RTP Parameters tab, as some devices doesn't advertise it's capabilities correctly. In firmware versions 5.2.x, ptime option is advertised correctly (tested with 942s and 962s). FreeSWITCH will complain and try to adjust to this bug, but it is better to fix the settings.
<RTP_Packet_Size ua="na" value="0.020" />
  • On phones series SPA9xx paging works via "<action application="set" data="sip_h_Call-Info=<sip:$${domain}>;answer-after=0"/>" before calling the phone.
  • On SPA9xx phones the first extension must be connected to FreeSwitch for paging to work properly. The PBX connected to extension 1 must be powered on to activate paging. For example: If extensions 1-4 are connected to an SPA9000, and 5-6 to FreeSwitch, paging will only work if the SPA9000 is on. If FreeSwitch is the only PBX then extension 1 must be connected to FreeSwitch for paging to work.
  • If you're behind NAT and you get a green line light that turns orange (amber) after a few seconds, set "NAT Keep Alive Enable" to "no" on all lines and move your "Register Expires" interval on all lines to "60" (1 minute). That should fix the problem.
  • linksys name the G.729 codec "G.729A" so most of phone don't process it in bypass media mode, so you need to do:
    • go to the phone web admin interface
    • click advanced
    • select the sip tab
    • and rename G.729A codec from G.729A to G.729
    • save/reboot it
  • If using the G726-32 codec, the SDP Type Identification needs to be changed. The default is to use 2, which is reserved and can fail with FreeSWITCH.
    • go to the phone web admin interface
    • click advanced
    • select the sip tab
    • Change the G726r32 Dynamic Payload from 2 to 102 (or some other dynamic number not in use)
    • save/reboot it

Linksys TLS Setup

Tested with SPA962 and SPA942 handsets running 6.1.3(a) code. Cisco/Linksys signaling and media encryption on SPA handsets are both well tested with FreeSWITCH and very straightforward to configure. You should follow the FreeSWITCH wiki instructions to generate CA and local certificates as well as enable TLS and restart FreeSWITCH prior to following the steps below.

Your FreeSWITCH sofia SIP profile should be configured to support SSL/sRTP as below:

<!--No trusted certificate is required.-->
<param name="tls-version" value="sslv23"/>

Your Cisco/Linksys SPA phone should be configured via the web interface to support SSL/sRTP as below:

Extension 1
-----------
SIP Transport: TLS
SIP Port: 5061

SIP
---
SRTP Method: s-descriptor

User
----
Secure Call Setting: yes

To validate proper operation from the phone, the SPA phone LCD screen will show "$Connected" if your call leg is secured via sRTP. After the call is connected, the phone will locally generate three chirps within 10 seconds to provide audio feedback that the call is secured.

To validate proper operation from FreeSWITCH, you should be able to dial the MOH test at 9664 and hear "This call has been secured". The FreeSWITCH log will show the following entries confirming secure RTP is active:

2012-01-14 11:38:29.440826 [INFO] switch_rtp.c:1470 Activating Secure RTP SEND
2012-01-14 11:38:29.440826 [DEBUG] switch_core_sqldb.c:1486 Secure Type: srtp:AES_CM_128_HMAC_SHA1_32
2012-01-14 11:38:29.440826 [INFO] switch_rtp.c:1450 Activating Secure RTP RECV
2012-01-14 11:38:29.440826 [DEBUG] switch_core_sqldb.c:1486 Secure Type: srtp:AES_CM_128_HMAC_SHA1_32
...
Dialplan: sofia/internal/1000@10.10.10.10 Regex (PASS) [is_secure] ${sip_via_protocol}(tls) =~ /tls/ break=on-false
Dialplan: sofia/internal/1000@10.10.10.10 Regex (PASS) [is_secure] ${sip_secure_media_confirmed}(true) =~ /^true$/ break=on-false

Linksys PAP2-NA

  • Registration: Works
  • Caller Id: Works
  • Call in/out: Works
  • Call waiting: Works
  • Transfer calls: Works
  • Park calls: Not Tested

Linksys PAP2 v2

Unlocked with CYT-Unlocker, PAP2 V2 has no STUN ability!

  • Registration: Works
  • Caller Id: Works
  • Call in/out: Works
  • Call waiting: Works
  • Transfer calls: Not Tested
  • Park calls: Not Tested

Linksys PAP2T

  • Registration: Works
  • Caller Id: Works
  • Call in/out: Works
  • Call waiting: Unknown
  • Transfer calls: Works
  • Park calls: Works

Linksys SPA400 (4 Line FXO)

  • Registration: Does not work
  • Caller Id: Works (incoming calls only obviously)
  • Call in/out: Works
  • Call waiting: Does not work
  • Transfer calls: Attended Transfer: works / Blind Xfer: known to be problematic
  • Park calls: Unknown / Untested

SPA400 FreeSwitch HowTo

Linksys SPA3000(FXS/FXO)

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: unknown
  • Transfer calls: unknown
  • Park calls: unknown

Linksys SPA2102 (FXS)

SPA2102 T38 Howto

Linksys SPA3102(FXS/FXO)

  • Registration: works
  • Caller Id: unknown
  • Call in/out: works
  • Call waiting: unknown
  • Transfer calls: unknown
  • Park calls: unknown

SPA3102 FreeSwitch HowTo

Note: If you try to set it up as an outgoing gateway (VoIP-To-PSTN) and get a SIP 503 error ([CS_CONSUME_MEDIA] [NORMAL_TEMPORARY_FAILURE]) besides the obvious 'is your IP correct?' and 'is the port correct?' I found you also need to check your line voltage. On the SPA3102 'Info' page I noticed idle line voltage was ~20V, I called in through the SPA3102 and found the line voltage went to 6V-7V. On the PSTN Line configuration 'International Control' section, I changed the 'Line-In-Use Voltage:' from the default 30V to 10V. I believe it just needs to be between the idle usage and in use voltage.

Linksys SPA8000

  • Registration: works
  • Caller Id: unknown
  • Call in/out: works
  • Call waiting: unknown
  • Transfer calls: unknown
  • Park calls: unknown

Linksys SPA901

  • Works very reliably with FreeSWITCH including some advanced features.
    • Registration: Works
    • Caller Id: Works
    • Call in/out: Works
    • Call waiting: Works
    • Transfer calls: Works both from phone or FS
    • Park calls: work using call transfer to 5900 or using valet parking

Linksys SPA921

Works. Had to manually set the Daylight Saving Time Rule for correct time to be displayed. Note: Has the RTP Packet Size issue.

Linksys SPA941

  • Registration: Works
  • Caller Id: Works
  • Call in/out: Works
  • Call waiting: Works
  • Transfer calls: Works both from phone or FreeSWITCH
  • Park calls: Works

Note: Has the RTP Packet Size issue.

Linksys SPA942

  • Registration: Works
  • Caller Id: Works
  • Call in/out: Works
  • Call waiting: Works
  • Transfer calls: Works both from phone or FreeSWITCH
  • Park calls: Works using park soft key
  • BLF (Busy Lamp Field) Works

see also: http://www.voipspeak.net/2008/setting-up-blf-functions-on-a-linksys-spa-942/

Note: Has the RTP Packet Size issue.

How to configure BLF

In the Line Key (1-4) section, set the options as follows:

Extension: Disabled
Short Name: 1000 (or to any text you want)
Share Call Appearance: Shared
Extended Function: fnc=blf+sd;sub=1000@$PROXY;ext=1000@$PROXY (replace 1000 with the extension you want)

Linksys SPA962

Works very well. It will advertise the ptime correctly. No need to toy with RTP Packet Size.

Linksys SPA932

Sidecar for SPA962 with 16 programmable buttons. Since firmware version 5.2.8SC, presence is supported (Server-Type option set to "RFC3265_4235"). BLF, hold and intercept of ringing extensions work.

Example: fnc=blf+sd+cp;sub=1002@$PROXY

SPA-2000 and SPA-2100 series

Works very well, after tweaking the following settings.

Ensure your RTP packet size is set to 0.020 under the SIP -> RTP Parameters tab, as the phone doesn't advertise it's ptime capabilities correctly.

Also, if you configure the SPA to use the G726 codec, enable AAL2 bitpacking in the sofia profile in FreeSWITCH if you have audio quality problems. In the default installation, you can uncomment the <param name="bitpacking" value="aal2"/> line in "conf/sip_profiles/internal.xml".

Note: Under the Line 1 and Line 2 tabs there is a setting called "Block CID Setting". If you set this to "yes", or if you dial *67 which sets this to yes from the handset, the domain specified to the freeswitch server changes from the name or IP address you specified in the registration information, and becomes "localhost" instead. This may result in an error like:

 [WARNING] sofia_reg.c:1872 Can't find user [1000@localhost]
You must define a domain called 'localhost' in your directory and add a user with the id="1000" attribute
and you must configure your device to use the proper domain in it's authentication credentials.

You can fix this error by changing "Block CID Setting" to "no" or by dialing *68 from the handset.

SPA-2002

Works very well as a client side UA.

  • Registration: works
  • Caller Id: works
  • Call in/out: work
  • Call waiting: work
  • Transfer calls: works
  • Park calls: works

Has the same ptime issues as SPA-2000.

Nortel/Avaya

Nortel BCM Series (Rel 4.0)

  • Registration: Not Supported
  • Caller Id: not tested
  • Call in/out: Works (With a minor modification as detailed here
  • Call waiting: not tested
  • Transfer calls: not tested
  • Park calls: not tested
  • Video: Works

Nortel IP Phone 1535

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: works
  • Park calls: not tested
  • Video: Works

Obihai

Obi100

PerfecTone IP301 (V1.37)

  • Registration: works
  • Caller Id: No Caller ID name
  • Call in/out: works
  • Call waiting: not working
  • Transfer calls: tested with *1 and works
  • Park calls: not tested

Redfone foneBRIDGE2 T1/E1 to TDMoE Bridge

The foneBRIDGE2 has been interop tested with the latest FreeSwitch (July 2012). Software requirements are the DAHDI driver set LIBPRI and the FreeTDM module included during FS compile time. Documentation with sample configs can be found here; http://support.red-fone.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=48


SNOM Products

Snom TLS Setup

(Tested with Snom 320)

  • Update Snom 320 to Firmware-Version: snom320-SIP 7.1.33 14322 (7.1.33 has some important bug fixes). Instructions are here: http://wiki.snom.com/Snom320/Firmware
  • On Web page of the Snom phone (IP is shown on the display when you power up) In Identity X/Login/ Outbound Proxy: add ;transport=tls after the proxy. e.g.: 192.168.0.1;transport=tls (do not need to add port 5061). If you need to use a different port, use 192.168.0.1:5081;transport=tls Right way is to use NAPTR and SRV. But bkw says specifying the port number should be fine, and it works
  • Don't forget to enter 192.168.0.1:5081;transport=tls as "Outbound Proxy" or you will experience hangup issues.
  • On Web page of the Snom phone In Identity X/RTP/RTP Encryption: Set to on
  • On Web page of the Snom phone In Identity X/RTP/ RTP/SAVP: Set to Optional

You're done.

Note : Contrary to what I heard, I found the Snom TLS to be a bit unreliable. UDP works, but with TLS I have seen more than one Snom 320, see (from SIP trace) only part of the SIP message 401 sent to them, while SIP trace on FreeSWITCH and Wireshark the same network show differently. With one Snom with above settings, I found it actually sends UDP sometimes (from its own SIP trace!) despite above settings. Reboot did not fix it either, had to reload firmware and then it worked for sometime.

SNOM 190, snom300 series, snom800 series, snomMP, snomM9, snomPA1

Works fine. Multiple line appearances, call waiting, transfer, etc.

  • Attended Transfers
  • Blind Transfers
  • CMC Code
  • Record Button (Set record template on sip profile)
  • TLS and SRTP

Configuration

If calls are not properly ended by freeswitch after the phone has hung up, check if the BYE messages sent by the phone are authenticated. (containing a proxy-authentication line) If not, you can work around this by adding <param name="auth-all-packets" value="false"/> to the sip-profile.

This is required on the user to force TLS to work proper with the SNOM with version 7 firmware.

<variable name="sip-force-contact" value="NDLB-tls-connectile-dysfunction"/>

Update : as per Brian (June 2009) - this is no longer required
examples: Snom370

SNOM m3

Works with the setting "Registrar Config" "Force Domain" in the "Configuration Identity" Menu. You must reboot the Phone! Tested with Firmware-Version: snom-m3-SIP/02.09//11-Jun-10 10:06

Grandstream Products

Grandstream BudgeTone 100

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: not tested
  • Transfer calls: not tested
  • Park calls: not tested

Grandstream BudgeTone 200

Codec selection is broken as well as G722. It will "negotiate" the 7th codec in it's preferences. But it works with PCM u-law and a-law, may work with others.

Grandstream GXP1405

  • Registration: Works
  • Caller Id: Works
  • Call in/out: Works
  • Call waiting: Works
  • Transfer calls: Works
  • Park calls: Works
  • MWI (Message Waiting Indicator): Works

Grandstream GXP-2000

  • UDP Registration: works
  • TCP Registration: not tested
  • Caller Id: works
  • Call in/out: works
  • G722: works
  • Call Forwarding: works
  • Transfer calls: works - Requires Symmetric routing Enabled
  • Hold calls: works - Requires Symmetric Routing Enabled
  • Call waiting: not tested
  • Park calls: not tested
  • SIP Password: Funky - Not displayed, if you can't get it to register, Reset to Factory defaults and re-enter password
  • Annoying Defaults: Symmetric Routing off, Speaker enabled on disconnect, Non-US DST string, check for update on reboot enabled


Grandstream GXP-2020

GXP-2020, SRTP works too. G722 is broken. TLS is not working (as on any Grandstream GXP series phone)

GrandStream GXV3140

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: work
  • Park calls: work via transfer
  • MWI: works
  • SRTP: works
  • TLS: works

GrandStream GXV3140

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: work
  • Park calls: not tested
  • MWI: not tested
  • SRTP: not tested
  • TLS: not tested
  • Video: work

Grandstream GXW 40xx

  • GXW4024, GXW4008, GXW4004: Provides FXO ports
    • Registrations work
    • call in and out work
    • Call transfer via touch tones in demo works (Needs configuration tweaking to enable)


Grandstream GXW 410x

  • GXW4104, GXW4108: Provides FXO ports
    • calls in and out work

Grandstream HandyTone-486

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: not tested
  • Park calls: not tested
  • MWI: works

Grandstream HandyTone 488

FXS side of things appears to work well. I haven't tested caller ID, nor the FXO side of the device.

Caller ID works on FXS port (FreeSWITCH 1.0) from SIP originated calls. Also, had issues with upgraded firmware -- reset configuration (***99) and all was well again. I also have not tested FXO port. Jpeterson275 23:19, 2 December 2008 (PST)

Surprisingly good ULaw sound over wan (cable modem).

Also, surprisingly effective NAT support.

DTMF tones seem to be failing when connected to the IVR module (but working when forwarded through to the free 800 # service).

Grandstream HandyTone 502

July 2009: Firmware: 1.0.1.35

According to homepage "SIP over TCP/TLS". But it doesn´t work.

Summary:

  • Registration: works with SIP over UDP and TCP.
  • Caller Id: not tested
  • Call in/out: Works
  • Call waiting: not tested
  • Transfer calls: not tested
  • Park calls: not tested
  • SRTP not tested
  • TLS doesn´t register, see below
  • DTMF not tested
  • FAX over G.711 Works
  • FAX over T.38 Works

Talking about TLS:

In fact there are fields where you can enter your certificate, the private key and the password for the private key. It doesn't register with TLS, but only UDP and TCP. I tried with Pangolin, where TLS works without any problem (importing the CA certifacte of FS). FreeSWITCH tells me:

recv 627 bytes from tls/[10.10.2.206]:2048 at 09:45:02.070075:
------------------------------------------------------------------------
REGISTER sip:domain.de:5061 SIP/2.0
Via: SIP/2.0/TLS 10.10.2.206:5062;branch=z9hG4bK1786789569;rport;alias
Route: <sip:domain.de:5061;lr>
From: <sip:1001@domain.de:5061>;tag=2027020172
To: <sip:1001@domain.de:5061>
Call-ID: 824582011-5062-1@10.10.2.206
CSeq: 2000 REGISTER
Contact: <sip:1001@10.10.2.206:5062;transport=tls>;reg-id=2;+sip.instance="<urn:uuid:00000000-0000-1000-8000-000B821E4582>"
Max-Forwards: 70
User-Agent: Grandstream HT-502  V1.1C 1.0.1.35
Supported: path
Expires: 3600
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE
Content-Length: 0

------------------------------------------------------------------------
send 627 bytes to tls/[10.10.2.206]:2048 at 09:45:02.078878:
------------------------------------------------------------------------
SIP/2.0 401 Unauthorized
Via: SIP/2.0/TLS 10.10.2.206:5062;branch=z9hG4bK1786789569;rport=2048;alias
From: <sip:1001@domain.de:5061>;tag=2027020172
To: <sip:1001@domain.de:5061>;tag=gD6H4BF5v4rXN
Call-ID: 824582011-5062-1@10.10.2.206
CSeq: 2000 REGISTER
User-Agent: FreeSWITCH-mod_sofia/1.0.3-exported
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, SUBSCRIBE, NOTIFY, REFER, UPDATE, REGISTER, INFO, PUBLISH
Supported: timer, precondition, path, replaces
WWW-Authenticate: Digest realm="domain.de", nonce="a8a5dca0-7836-11de-b5f7-7f0e22d79464", algorithm=MD5, qop="auth"
Content-Length: 0

------------------------------------------------------------------------

Grandstream HandyTone 503

June 2009: This device is supposed to support TLS + SRTP - only ATA that is known to have it (?)

Summary:

  • Registration: FXS works with SIP over UDP, TCP. Works 2% of time with TLS.
  • Caller Id: FXS works with SIP over UDP
  • Call in/out: FXS works with SIP over UDP (call drops sometimes - see below). Does NOT work with TCP or TLS
  • Call waiting: not tested
  • Transfer calls: not tested
  • Park calls: not tested
  • SRTP FXS works
  • TLS FXS registration did not work 98% of time (without setup change), but can never make/receive calls
  • DTMF FXS works with FS IVR module

Details:

What works:

FXS SIP over UDP, RTP & SRTP, DTMF with IVR also found to work fine (with DTMF order set in devices as: RFC, INFO, in audio). Caller id also worked fine. Audio was quite clear with default codec order.

STUN, device behind NAT can make/receive calls and audio fine with FS (that also happened to be behind its own NAT (with UPnP support and using FS autonat feature))

What doesn't work:

FXS with SIP over TCP or TLS - registration works. However nothing else works - no calls can be made or received with SIP over TCP or TLS. Exact same setup eyebeam and snom work, so problem is not with FS.

Calls get dropped sometimes in between due to problem with HT 503 (not FS) sometimes. For a valid call and call id, HT 503 returns "SIP/2.0 481 Call Leg/Transaction Does Not Exist"

Please update wiki with any known results/fix for TCP/TLS and call drops. Also results with FXO.

January 2011 - Requires the latest HT503 firmware update to work properly. FXS works properly and FXO functions properly but registers by default as an extension not as a gateway. HT503 FXO default setting need the "Preferred DTMF method" setting set to "RFC2833" to connect. Also there are two ways to get the FXO to send calls: the first (not recommended) requires a dialplan that calls the fxo extension to get the dial tone and then the dialplan needs to dial the number. Able to make it work by using the following lines in the dial plan.

      <action application="queue_dtmf" data="W$1@100"/>
      <action application="bridge" data="user/1003"/>
      <action application="answer"/>

A better way to make the FXO connection is to create a gateway for the FXO but do not request registration (never was able to get it to register) using the 5062 port- example -


   <gateway name="ht503-1">
     <param name="realm" value="192.168.0.82:5062"/>
     <param name="proxy" value="192.168.0.82:5062"/>
     <param name="expire-seconds" value="800"/>
     <param name="register" value="false"/>
     <param name="retry-seconds" value="60"/>
     <param name="context" value="public"/>
   </gateway>


Then when you make a call you can create a dialplan like the one below, it sends local calls to the first HT503 that answers.

  <extension name="Local 7 digit calls" >
  <condition field="destination_number" expression="^(\d{7})$">
      <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}"/>
      <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}"/>
      <action application="set" data="hangup_after_bridge=true"/>
      <action application="bridge" data="sofia/gateway/ht503-2/$1@192.168.0.85:5062"/>
      <action application="bridge" data="sofia/gateway/ht503-1/$1@192.168.0.82:5062"/>
  </condition>
  </extension>

Using for Loudspeaker Paging/Overhead Paging The HT503 can be used as a gateway to a traditional PBX amplifier if the amplifier can connect to a CO or FX0 port (one that can provide line or battery power to the tip and ring) such as a Valcom V-200A.

  1. Configure a user for the HT503 to register to
  2. Configure the HT503
    1. SIP Server and login information
    2. Wait for Dial Tone (P3303) = No
    3. Stage Method (P3304) = 1
    4. Unconditional Call forward to PSTN (P796) = #
  3. If your amplifier has an RJ-11 port, connect a cable from the "Line" port on the HT503 to the RJ-11 port on the amplifier. If not, cut the end off an RJ-11 cable and expose enough of the red (tip) and green (ring) wires to connect to the tip and ring inputs on the amplifier.
  4. Make sure that line or battery power on the amplifier is "turned on"
  5. Attach the speaker
  6. Power all devices
  7. Create a dialplan, conference, etc. entry that connects a call to the device you defined
  8. Your voice should be heard over the speaker

Check out the Conferencing and Intercom page for dialplan ideas.

Panasonic Products

KX-UT670

The Panasonic KX-UT670 is a top-of-the-line executive desk phone that runs Android 2.2 so it not only is a phone but can become a full-featured terminal much like the one in Captain Picard's ready room. There are no mechanical buttons, only a strip of keys below the 7 inch touch screen. The built-in telephone app puts the necessary numeric digit and function buttons on the screen, but you can write your own app to replace it.

It has 6 "lines" or SIP accounts, 32 soft keys each of which can be programmed as a line key, speed dial, Android application shortcut, web browser bookmark, and other functions. The speakerphone audio on this phone is outstanding and would do justice to the G.722 codec that is included, except that I never had the means to test it properly.

The phone supports Busy Lamp Field buttons, but only after setting ** as the Directed Call Pickup code in the phone configuration.

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works, requires multiple line keys to be provisioned
  • Call forwarding: works (unconditional, busy, no answer)
  • Transfer calls: works, must use Blind Transfer button
  • Park calls: works, with feature codes
  • MWI: works
  • DND: works
  • BLF: works, requires Directed Call Pickup code to be configured first
  • SRTP: not tested
  • TLS: not tested
  • Video: N/A
  • SIMPLE: not tested

Tested with version 1.072 firmware in the phone. - Boteman 20:50, 24 June 2013 (UTC)

Globarange product line

Summary:

  • Registration: Works but requires router configuration
  • Caller Id: Works
  • Call in/out: Works
  • Call waiting: not tested
  • Transfer calls: Works
  • Park calls: not tested
  • SRTP not tested
  • TLS not tested
  • DTMF Works
  • MWI Works


The Globarange phones are made by Panasonic and come (or came) bundled with a Level3 VOIP service called JOIP. They offer dual line capability (PTSN and IP). However they only register to the JOIP service, or so they think.

  • Redirect proxy.joip.com to your freeswitch instance. For example on your router add the DNSMaq option:

address=/proxy.joip.com/<your FS IP Address>

  • Note that the phone needs to get a configuration file at boot time coming from

http://provisioning.joip.com/joip_config/joip0080fXXXXXX.cfg

So do not block it or host locally the file, it is required (0080fXXXXX is the phone mac address).

  • The phone wants to do SIP on port 23768. This cannot be changed, so either use 23768 for SIP in vars.xml or redirect SIP traffic with this on your router:

iptables -t nat -A PREROUTING -d proxy.joip.com -p udp -m udp --dport 23768 -j REDIRECT --to-ports 5060

  • Usernames and password cannot be changed but can be intercepted with SIP trace. Once done the easiest is to use cidr to avoid authentication issues. It appears that the phones use an authentication challenge with a different user id, and also want to see proxy.joip.com as the domain_name, but you can ignore this if you use ACL/cidr based registration so:

In your directory/default folder:

<include>
  <user id="10-digit-id" cidr="phone-ip-address/32">
  ....

In your sip_profiles/internal.xml, enable the following line:

<param name="apply-register-acl" value="domains"/>

This should enable the registration of the phone at this point. If someone can add how to use number-alias (or something else) in order to simplify internal dialing it would be good. Thx.


IPBX KX-NCP500

Summary:

  • Registration: Not tested
  • Caller Id: Works
  • Call in/out: Works
  • Call waiting: Works
  • Transfer calls: Works
  • Park calls: Not tested
  • SRTP Tot tested
  • TLS Not tested
  • DTMF Works

SIP Trunking between the NCP500 and FreeSWITCH was established with static IP SIP Trunking (without authentication). The Panasonic can do both, so it's likely authenticated trunks will also work without any issues.

It works perfectly, the SIP in the Panasonic seems clean.

Polycom Products

Generic Polycom issues

See detailed configuraiton files examples in Polycom configuration

I found a bug [1] that causes the Polycom to lose registration when using TLS. It seems that when the Polycom sends both SAVP and AVP in SDP, the SSL thread on the phone crashes. After much trial and error, I found that if I reduced the size of the SDP in the INVITE by disabling two codecs, the problem went away.

Polycom TLS Setup

TLS support was added in SIP 2.X Software. Tested w/ SoundPointIP 501, known to work w/ other models. Not supported on 300/500. You must also add == untrusted == CA certs to the phone in the Menu->Advanced Settings->Admin Settings->SSL Security->Install CA Certificate. You also may (depending on firmware) need to select Custom or All Certificates under Menu->Advanced Settings->Admin Settings->SSL Security->Configure CA Certs

On train version 3 you can have the following procedure.:

  • Add the following you your local-phone1.cfg:
<device
  device.set="1"
  device.sec.SSL.certList.set="1" device.sec.SSL.certList="custom"
  device.sec.SSL.customCert.set="1" device.sec.SSL.customCert="Your-cerificate"
/>

replace the Your-certificate with the contents of /usr/local/freeswitch/conf/ssl/cafile.pem, while removing the lines of "=== BEGIN ===" and "END", and concatanate all other lines to one long string without spaces.

  • in your local-phone1.cfg (or at the file you define the registration) put:
<reg
  reg.1.server.1.address="pbx.freeswitch.org" reg.1.server.1.register="1" reg.1.serverFeatureControl.cf="0" reg.1.server.1.transport="TLS"
/>
Polycom Firmware 3.X TLS Provisioning Example

Using MAC-phone.cfg method (Polycom_configuration#MAC-phone.cfg)

This was tested and only works on Polycom firmware 3.X

replace the Your-certificate with the contents of /usr/local/freeswitch/conf/ssl/cafile.pem, while removing the lines of "=== BEGIN ===" and "END", and concatanate all other lines to one long string without spaces.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<PHONE_CONFIG>
  <ALL
    voIpProt.SIP.specialEvent.checkSync.alwaysReboot="1"
    voIpProt.SIP.serverFeatureControl.cf="0"
    voIpProt.SIP.serverFeatureControl.dnd="0"
    voIpProt.server.1.address="fs.domain.local"
    voIpProt.server.1.transport="TLS"
    tcpIpApp.keepalive.tcp.sip.tls.enable="1"
    tcpIpApp.sntp.address="us.pool.ntp.org"
    tcpIpApp.sntp.gmtOffset="-18000"
    dialplan.digitmap="**xx.T|*xx.T|[9]11|0T|011xxx.T|xxxxxT|xxxxT|xxxT|xxT|1xxxxxxxxxxT|xxxxxxxxxxT|xxxxxxxT"
    dialplan.digitmap.timeOut="3|3|3|3|3|4|4|5|5|5|5|5"
    feature.presence.enabled="1"
    feature.urlDialing.enabled="0"
    device.set="1"
    device.sec.SSL.certList.set="1"
    device.sec.SSL.certList="custom"
    device.sec.SSL.customCert.set="1"
    device.sec.SSL.customCert="Your-cerificate"
    sec.srtp.enable="1"
    sec.srtp.offer="1"
    sec.srtp.require="0"
    msg.mwi.1.callBack="*1"
    msg.mwi.1.callBackMode="contact"
    reg.1.displayName="Ext. 1000"
    reg.1.label="Ext. 1000"
    reg.1.address="1000@fs.domain.local"
    reg.1.type="private"
    reg.1.auth.userId="1004"
    reg.1.auth.password="1234"
    reg.1.bargeInEnabled="1"
  />
</PHONE_CONFIG>
  • Note: device.set="1" is required to install the CA initially. According to Polycom guide, if set to 0, do not use any device.xxx fields to set any parameters. Set this to 0 after the initial installation. If set to 1, use the device.xxx fields that have device.xxx.set = 1. Set this to 1 for the initial installation only.
Polycom Firmware 4.X TLS Provisioning Example

Using MAC-phone.cfg method (Polycom_configuration#MAC-phone.cfg)

This configuration demonstrates enabling TLS + SRTP while disabling two codecs that are enabled by default in order to resolve the bug which causes the phone to unregister. You also, need to set the cipherSuite with sec.TLS.profile.1.cipherSuite="ECDH-ECDSA-AES256-SHA"

This was tested and works on Polycom firmware 4.X

sec.TLS.customCaCert.1 should contain the contents of the cafile.pem

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<PHONE_CONFIG>
  <ALL
    voIpProt.SIP.specialEvent.checkSync.alwaysReboot="1"
    voIpProt.SIP.serverFeatureControl.cf="0"
    voIpProt.SIP.serverFeatureControl.dnd="0"
    voIpProt.server.1.address="fs.domain.local"
    voIpProt.server.1.transport="TLS"
    tcpIpApp.sntp.address="us.pool.ntp.org"
    tcpIpApp.sntp.gmtOffset="-18000"
    dialplan.digitmap="**xx.T|*xx.T|[9]11|0T|011xxx.T|xxxxxT|xxxxT|xxxT|xxT|1xxxxxxxxxxT|xxxxxxxxxxT|xxxxxxxT"
    dialplan.digitmap.timeOut="3|3|3|3|3|4|4|5|5|5|5|5"
    feature.presence.enabled="1"
    feature.urlDialing.enabled="0"
    pres.idleSoftkeys="0"
    sec.TLS.profile.1.cipherSuite="ECDH-ECDSA-AES256-SHA"
    sec.TLS.profileSelection.SIP="ApplicationProfile1"
    sec.TLS.customCaCert.1="-----BEGIN CERTIFICATE-----
1111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111==
-----END CERTIFICATE-----"
    sec.srtp.offer="1"
    sec.srtp.offer.HMAC_SHA1_32="1"
    sec.srtp.offer.HMAC_SHA1_80="0"
    sec.srtp.resumeWithNewKey="0"
    voice.codecPref.G729_AB="0"
    voice.codecPref.G711_A="0"
    msg.mwi.1.callBack="*1"
    msg.mwi.1.callBackMode="contact"
    reg.1.displayName="Ext. 1000"
    reg.1.label="Ext. 1000"
    reg.1.address="1000@fs.domain.local"
    reg.1.type="private"
    reg.1.auth.userId="1004"
    reg.1.auth.password="1234"
    reg.1.bargeInEnabled="1"
  />
</PHONE_CONFIG>
  • Note: The server name must be the same as the name given with -cn and -alt when creating the certificate.
  • Note: Wildcard certificates will fail (tested with 3.3.4).
  • Note: On one server I have this working correctly. On another server I have this working for a while and then OpenSSL library closes the connection.
Multiple registrations

Getting registrations working to two different servers has a gotcha. Both registrations need to include the full info. What I ended up with was:

<reg
  reg.1.displayName="Thorhallur" reg.1.address="405"  reg.1.label="Toti"
  reg.1.auth.userId="405" reg.1.auth.password="4096"
  reg.1.outboundProxy.address="10.11.1.20" reg.1.outboundProxy.port="5060"
  reg.1.server.1.address="10.11.1.20" reg.1.server.1.port="5060"
  reg.1.server.1.register="1" reg.1.lineKeys="1"

  reg.2.displayName="FreeSwitch" reg.2.address="1005" reg.2.label="FreeSwitch"
  reg.2.auth.userId="1005" reg.2.auth.password="1234"
  reg.2.outboundProxy.address="10.11.1.20" reg.2.outboundProxy.port="6060"
  reg.2.server.1.address="10.11.1.20" reg.2.server.1.port="6060"
  reg.2.server.1.register="1" reg.2.lineKeys="1"
/>
NAT Issues with more than 1 phone

We were unable to get ONE Polycom phone to work fine, but only ONE could register at a time through our FIOS (NAT) Router. We were able to get multiple phones to work by setting each phones local sip port to a unique number. These are through the web interface menus - SETTINGS=>SIP local port # and SETTINGS=>NETWORK=>NAT sip signaling port. They should match each other.

Polycom IP 431

basic registration and calling in and out works, haven't tested any other functionality yet

Polycom IP 320

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: work
  • TLS: works (tested 3.3.4)
  • SRTP: works (tested 3.3.4)

Polycom Presence Setup

Polycom IP 501

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: work
  • TLS: works (must install custom CA cert from the phone and force it to use the cafile.pem)
  • SRTP: works.

Polycom IP 550/650

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: work
  • TLS: works (must install custom CA cert from the phone and force it to use the cafile.pem)
  • SRTP: works.

Polycom VVX1500

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: work
  • TLS: not tested
  • SRTP: not tested.
  • Video: work

Pluscom

SIP VoIP ATA - Model VPA-11

  • Registration: Works
  • Caller Id: Not tested
  • Call in/out: Not tested
  • Call waiting: Not tested
  • Transfer calls: Not tested
  • Park calls: Not tested

The default configuration for the VPA-11 is set to append the UserID to the dialed number when making a SIP call request. To allow FreeSWITCH to process the call correctly, this option needs to be turned off and can be found in the ATA Configuration options under :-

  • Configuration
    • Non-Line Config
      • General Parameters
        • VoIP General
          • Append UserID (Default is Yes, set to No)

Siemens

Gigaset A580 IP

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: not tested
  • Transfer calls: not tested
  • TLS: not supported
  • SRTP: not supported

Gigaset S675 / S685 IP

Latest Tested Release: 047.00

The Gigaset S675 and S685 SIP DECT phones work well and supports wideband G.722 codec out of the box. To ensure correct DTMF support with G.722 wideband enabled, make sure RFC 2833 is selected in Telephony->Advanced Settings on your base station.
To configure correct message waiting indicator support from the network, you have to disable the built-in answering machine. You will know if this is configured correctly as the tape icon on top of the screen will change to a network icon. Voicemail message waiting indications will show the number of FreeSWITCH voicemails on the left side of the screen and update very quickly.
ECO DECT can be configured from the phone in Settings->Base->Add. Features->Eco Mode for significant phone power conservation. The only caveat is you will need to use the same family of DECT phones on the base station - you cannot mix model numbers of Gigaset phones.

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: works
  • TLS: not supported
  • SRTP: not supported

Gigaset C470Ip

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: works
  • TLS: not supported
  • SRTP: not supported

OpenStage 40, 60, and 80 SIP

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: works
  • TLS: not tested
  • SRTP: not tested
  • G.722: Works

OptiPoint 410

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: work
  • Park calls: no
  • MWI: works
  • SRTP: not tested
  • TLS: not tested
  • Video: not supported
  • SIMPLE: not tested

Thomson

ST2030 SIP IP Phone

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: works
  • TLS: not tested yet
  • SRTP: not tested yet

The features described above do all function as described, so I guess that qualifies the ST2030 as "working" with FreeSWITCH.

However, the call quality is very poor, the phones suffer from noise (hiss) on the line and some "break-up" of speech.

In short, use another phone!

Note: Using G711A & G711U there is quite a hiss and choppiness, but with mod_com_g729 sound problems have been resolved.

UMEC

CU775 SIP IP Phone

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: works
  • Park calls: not tested
  • Video: Works

Worldgate

Ojo Vision

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: does not work
  • Transfer calls: works
  • Park calls: not tested
  • Video: Works

AVM Products

FRITZ!Box Fon WLAN 7050

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: not tested
  • Transfer calls: not tested
  • TLS: not tested (maybe not be supported, have to look it up)
  • SRTP: not tested

FRITZ!Box Fon WLAN 7270

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: not tested
  • Transfer calls: not tested
  • TLS: not tested
  • SRTP: not tested

Conference rooms do not work because the phone is obviously using 30ms RTP packets but it is not advertising it. This results in some very weird sound-effects for the other people in the room. We will file a bug at AVM for that. As a workaround you can set the 20ms manually in the config file, see this article at SNOM for hints.

Media5 (Mediatrix)

Media5 has a big product range on different gateways.
The tested product was a 4102s. As most of their products are using (more or less) the same firmware I would expect the same results with them.

  • Firmware Version dgw 2.0.10.185
  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: not tested
  • Park calls: not tested
  • Conferencing: not tested
  • TCP: works
  • TLS: works
  • SRTP: works

Microsoft

Microsoft Exchange 2007 Unified Messaging Server

Please refer to: Exchange 2007 UM

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: not tested
  • Transfer calls: works
  • TLS: not tested
  • SRTP: not tested

Mitel devices

Mitel 3300 ur3

Using a SIP Trunk, works well calling Mitel phones over SIP or Minet, voicemail, etc.

Note: you may have issues with ptime discrepancies. Try using absolute_codec_string=PCMU and see if it clears up the audio. It seems to be an issue with ptime being 20 but timestamps being off.

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: not tested
  • Transfer calls: not tested
  • TLS: not tested
  • SRTP: not tested

Mitel 3300 ICP

Using a SIP Trunk, calls work well on all devices. Outgoing calls required adding <param name="extension-in-contact" value="xxxx"/> to the SIP profile, otherwise the gateway would always return a SIP 404 Not Found message.

Mitel 5224 Phone

Mitel 5224 four "line" IP hard phone running in SIP mode.

  • SIP firmware 07.01.00.09:
    • Registration: works
    • Caller Id: works
    • Call in/out: works
    • Call waiting: works
    • Transfer calls: works
    • TLS: not tested
    • SRTP: not tested

Mitel 5330 Phone

  • SIP firmware Main: R7.0.01.02.00.27 Boot: 01.02.00.27
    • Registration: works
    • Caller Id: works
    • Call in/out: works
    • Call waiting: not tested
    • Transfer calls: not tested
    • TLS: not tested
    • SRTP: not tested

Mitel 5212 Phone

See Mitel 5224, above. Operates very similar to and uses the same firmware as the 5224.


Yealink devices

Yealink TLS Configuration

Tested on t26P with firmware 6.70.0.120 (the previous one also work but with some problems in LDAP navigation when trying to dial)

  • you must force the transport to TLS, in Account -> Basic -> Transport: TLS
  • to be able to use a cert in your tls profile you need to upload the CA cert (ca.crt) used to sign the cert. To upload the root cert go to Security -> Trusted Certificates.
    • If you don't want to upload cert into the phone set Only Accept Trusted Certificates: Disabled.

You can also have the voice encrypted, set "Account -> Advanced -> Voice Encryption (SRTP): ON

Yealink SIP T12

Tested firmware update V60

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Hold: works
  • Transfer calls (attended): works
  • Forward Feature: Works, once you enable manual-redirect in the internal profile.

Yealink SIP T18

Tested firmware 18.0.14.5

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Hold: works
  • Transfer calls (attended): works
  • Forward Feature: Works, once you enable manual-redirect in the internal profile.

Yealink SIP T20P

Tested firmware update V60

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Hold: works
  • Transfer calls (attended): works
  • MWI: Works
  • Forward Feature: Works, once you enable manual-redirect in the internal profile.

Yealink SIP T22P

Tested firmware update V60

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Hold: works
  • Transfer calls (attended): works
  • MWI: Works
  • Forward Feature: Works, once you enable manual-redirect in the internal profile.

Yealink SIP T26P

Tested firmware update V61

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Hold: works
  • Transfer calls (attended): works
  • BLF: Works
  • MWI: Works
  • Forward Feature: Works, once you enable manual-redirect in the internal profile.

Yealink-SIP-T26P Specific Issues (and additional Config)

Yealink SIP T28P

Tested firmware update V60

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Hold: works
  • Transfer calls (attended): works
  • BLF: Works
  • MWI: Works
  • Forward Feature: Works, once you enable manual-redirect in the internal profile.

Yealink SIP T38G

Tested firmware 38.0.14.4

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Hold: works
  • Transfer calls (attended): works
  • BLF: Works
  • MWI: Works
  • Forward Feature: Works, once you enable manual-redirect in the internal profile.

Other Devices

Multipoint MultiVoip Media Gateway

This is a dual PRI to SIP gateway intended to be used to provide a SIP gateway to a legacy PBX with PRI. I have tested it as a SIP to PRI gateway between FreeSWITCH and a CopperCom CSX, and Lucent 5ESS switch. While the web UI has some of the labels turned about when used in this configuration it functions fine and passes calls in and out properly. DNIS, CallerID, and RDNIS are passed from PRI to SIP properly.

Patton M-ATA-1 Micro Analog Telephone Adapter

Works fine. Brief documentation, but functional. Patton 4552 with 2 x ISDN BRI interfaces (one T and one S) works very well with FreeSWITCH. Tested with factory and latest (5.3) SIP firmware.

Patton SmartNode 4524 FXS/FXO Gateway

Fax sending from FXS port, over T.38 to FreeSWITCH (mod_spandsp - rxfax); Following firmware versions tested:

R4.2 2008-09-11: Failed - result (48) Disconnected after permitted retries

R5.2 2009-05-11: Passed

R5.3 2009-11-17: Passed

R5.4 2010-05-14: Passed

R5.5 2010-05-18: Passed

Quintum DX

Works fine. SIP only. H323 has packet size issues (strange!). (72 bytes packet size on G729 20ms, 252 bytes packet size on G711 20ms).

Goip GSM Gateway (or MadCom, Hybertone, Etross)

Works fine, as a SIP gateway. See Goip_FreeSwitch_HowTo for more detailed setup instructions.

Mobile Phones

Nokia N95, N82, E51, E52, E71, E72, E60 and others

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: works
  • Park calls: unknown

All newer Nokia phones support STUN. This is configurable through XML provisioning files or the SIP VoIP Settings tool which can be downloaded here. This tool can also be used to modify the codec list and tweak codec specific parameters.

Nokia TLS Setup / Symbian S60 TLS Setup
  • First import a root certificate (in DER format!) into the device. You can use the following command to convert a certificate that has been created using gentls_cert script:
openssl x509 -in /usr/local/freeswitch/conf/ssl/CA/cacert.pem -out /usr/local/freeswitch/conf/ssl/CA/cacert.cer -outform DER
  • Copy the new cacert.cer to the device, and open it (e.g. in file manager). This will prompt you the save it as a trusted certificate. Do this and select all trust levels during installation.
  • Setup your SIP Profile using "sips:" instead of "sip:" in Public Username, Proxy Server Address and Register Server Address, and set the appropriate port for your FreeSWITCH installation.

ATTENTION: Set the "Transport type" to "AUTO" or it will not work!

This configuration is only for SIP TLS. SRTP has not yet been tested.

SIP/TLS has been tested on:

  • Nokia N95 (RM-159) with firmware v30.0.015 from 15-Jul-2008 (Nokia N95 01.01)
  • Nokia N95 8GB (RM-320) with firmware v31.0.0.15 from 07-Nov-2008 (Nokia N95 01.01)
  • Nokia E52 (RM-469) with firmware v52.003.C00.01 from 29-Oct-2010 (Nokia E52-1)
Nokia Issues
  • sip works only if your sip server has port 5060, no other ports

Wi-Fi Only Phones

These are wifi only phones, as opposed to locked cell phones that can use wifi also.

Loctec WP04

This phone has a limited number of codecs and no extra buttons for hold, park, etc. It does, however, have a good battery life and is a good fit where you need a cordless station with minimal features.

The phone does not negotiate codecs well, so you will want to limit the codec in the global_codec_prefs in vars.xml to be as follows:

global_codec_prefs=G722,PCMU,PCMA,GSM

D-Link DPH-540

Works fairly well.

  • Registration: works
  • Caller Id: No Caller Id name
  • Call in/out: work
  • Call waiting: work
  • Transfer calls: unknown
  • Park calls: unknown

Skype (using SippySkype)

Please refer to SippySkype Skype Adapter

  • Registration: doesn't work
  • Caller Id: Works
  • Call in/out: works
  • Call waiting: not tested
  • Transfer calls: not tested
  • Park calls: not tested

Softphones

3CX Phone 1.17

  • Registration: works
  • Caller Id: unknown
  • Call in/out: work
  • Call waiting: unknown
  • Transfer calls: unknown
  • Park calls: unknown
  • NAT Traversal: unknown (Initial Failure)

Acrobits on iOS, standard version

  • Version: 4.8, April 26, 2011
  • Registration: works
  • Caller ID: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: transfer not available in standard version
  • Park calls: transfer not available in standard version
  • NAT Traversal: works

Blink on Mac OS X, standard version

  • Version 0.24.0, March 24, 2011
  • Registration: works
  • Caller ID: works
  • Call out: works
  • Call in: FAILS with SIP request timeout
  • Call waiting: works
  • Transfer calls: transfer not available in standard version
  • Park calls: transfer not available in standard version
  • NAT Traversal: works


CounterPath products

X-Lite

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: not tested

X-Lite release 1105d build stamp 99999 Registrations, Calling in and out works

X-Lite Version 3.0 build 47546: Registrations, Calling in and out works

Eyebeam

  • Registration: works
  • Caller Id: works
  • Call in/out: work
  • Call waiting: works
  • Transfer calls: works
  • TLS/SRTP: works

Please note eyebeam cannot *receive* an SRTP call (although can *make* a call), unless TLS is also turned on. This issue was posted in their forum, but not resolved, looks like their support itself doesn't know that they accept SRTP calls only if TLS is enabled. (It responds with SIP/2.0 415 No secure channel available for encrypted call)

EyeBeam TLS Setup

(Tested on Windows with EyeBeam 1.5.19 build 47739)

  • On the account properties go to the Security tab. Choose TLS as signaling transport.
  • Get a copy of the cafile.pem file and rename it to cafile.crt. Install the certificate in the trusted root certificate store (double click in the file explorer).

If you see an error like "Certificate Validation Failure", you didn't do this right.

If you get the error, "Certificate Name Mismatch", then the server's certificate name and the name of the domain you put in eyebeam don't match. Yes, eyebeam checks for that too. Phonerlite can be made not to and its a nice neat portable software (but has some issues of its own - see above. Hopefully these will be fixed soon).


Note if FS is down or for other reasons if eyebeam can't register, it says certificate problem instead of saying registration failed sometimes.

Bria 2.4

  • Registration: works
  • Caller Id: works
  • Call in/out: work
  • Call waiting: works
  • Transfer calls: works
  • Park calls: unknown
Bria TLS Setup

(Tested on Windows with Bria 2.3 build 47296)

  • On the account properties go to the Security tab. Choose TLS as signaling transport.
  • Get a copy of the cafile.pem file and rename it to cafile.crt. Install the certificate in the trusted root certificate store (double click in the file explorer).

Bria 3.2.2 (Mac OS X)

  • Registration: works
  • Caller Id: works
  • Call in/out: work
  • Call waiting: works
  • Transfer calls: works
  • Park calls: works

Bria iOS Edition

  • Version: 1.2.10, May 20, 2011
  • Registration: works
  • Caller ID: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: works
  • Park calls: works
  • NAT Traversal: works

CSipSimple

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: not tested
  • Transfer calls: works
  • Park calls: not tested
  • NAT Traversal: works

Express Talk 2.06

  • Registration: works
  • Caller Id: unknown
  • Call in/out: work
  • Call waiting: unknown
  • Transfer calls: unknown
  • Park calls: unknown
  • NAT Traversal: unknown (Initial Failure)

FLAPhone

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: not tested
  • Transfer calls: not tested
  • Park calls: not tested
  • Video: works
  • NAT Traversal: not needed

FRING

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: not supported
  • Transfer calls: not supported
  • Park calls: not supported

IMSDroid

  • Version: 1.0.355
  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: unknown
  • Transfer calls: unknown
  • Park calls: unknown
  • NAT Traversal: works + STUN/ICE
  • Video: works

Linphone

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: not tested
  • Transfer calls: not tested
  • Park calls: not tested
  • Video: works

Media5Fone for iPhone

  • Version: 2.7.1.20
  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: works
  • Park calls: unknown
  • Conferencing: works
  • TCP: works
  • TLS+SRTP: works

Pangolin

  • Registration: works
  • Caller Id: works
  • Call in/out: work
  • Call waiting: works
  • Transfer calls: works
  • Park calls: unknown
  • TLS/SRTP: works (Nothing needed)

This is a free softphone that is capable of SIP-TLS + SRTP calls!

PhonerLite

  • Registration: works
  • Caller Id: works
  • Call in/out: work
  • Call waiting: works
  • Transfer calls: unknown
  • Park calls: unknown
  • TLS/SRTP: works (?)
  • ZRTP: says its supports, not tried (post here if anyone does)

To enable TLS, have the certificate loaded into the windows certificate store and check boxes 'check certificate from remote side' and 'Load Windows CA' under tab Certificate. Select TLS for 'Preferred Connection Type' under tab Network. (cafile.pem rename to cafile.crt, double click in explorer and install into root certificate store, trust publishers won't work - it simply does TCP even if you select TLS unless you put in root certificate store) (I could not get TLS to work ever with PhonerLite, handshake starts but does not finish registration. Among 20 trials it did work once ! But without any change in anything did not work a moment later. Please post any details to get it to work here. Thanks.)

To enable RTP, select SRTP and SAVP under tab Codecs

This is a free softphone that is capable of SIP-TLS + SRTP calls!

Software is completely portable, you can carry on a USB stick too. You can change the port number in the settings, if not if phonerlite is open, FreeSWITCH (Windows) on the same machine can't use port 5060, unless it is started first.

Please note : if TLS doesn't work or not supported by the server, it automatically does TCP which is BAD!! Please suggest in their forum to fix this. The more people suggest more likely they will add a force TLS option.

Also I found some strange issues with "not using check certificate from remote side" which I understood to be not checking validity of the certificate (if its signed by one of the roots in the windows certificate store) but would still do TLS. It did do TLS, but I could not get the handshake to complete. Appears to be some issue with the ports. (And in this case did not fallback to TCP) If anyone knows how to fix this, or has seen otherwise, please post here ! When check remote certificate is selected, with or without load windows CA being selected, it falls back to TCP

SFLphone

Version 0.9.8.4-1 Debian squeeze

  • <b>Caller Id: works
  • Call in/out: works
  • Call waiting: N/A : incoming calls show up as a separate instance
  • Transfer calls: works
  • Park calls: feature not implemented
  • Message Waiting Indication: Not working (only updates on appearance of new messages)
  • TLS/SRTP: works
    • import cafile.pem by going Edit -> Accounts -> Edit -> Security -> Use TLS Transport -> Edit -> Certificate of Authority list. Then SRTP key exchange -> SDES from the security tab.

SipDroid

  • Version: 1.4.6 and 2.0.1
  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: unknown
  • Transfer calls: unknown
  • Park calls: unknown
  • Video: outbound only (inbound does not support RTP)

Twinkle

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: unknown
  • Transfer calls: works
  • Park calls: works (hold button goes to moh, transfer call in progress goes to moh until transfer made)
  • version 1.4.2 - 25 Feb 2009, currently available on Ubuntu 10.04 LTS

Zoiper

Zoiper Classic (free or biz)

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: unknown
  • Transfer calls: works
  • Park calls: unknown
  • NAT Traversal: unknown
Sip NOTIFY Flood

Zoiper Classic < v3 will send Notify packets every 1-5 milliseconds. This is a constant stream of small packets that floods the switch and pretty much every router along the way (around 4.5mbs/client). As a workaround (per support [Thanks Joachim!]) you can disable message waiting indication. This issue has been resolved in version 3 of Zoiper Communicator (aka Zoiper 3). (2013/09/04)

Zoiper 2.14

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: unknown
  • Transfer calls: works
  • Park calls: unknown
  • NAT Traversal: unknown
Zoiper Bizz 2.10 and TLS/SRTP

Since Library Version 3065, Zoiper Bizz also works with TLS and SRTP on Linux (tested on Ubuntu Gutsy).

How to enable this:

  • in Options check Extended settings
  • in SIP-Options set Port 5061 and select a TLS certificate from your FreeSWITCH server (copy cafile.pem to your local directory)
  • in your SIP account settings select "Use TLS and SRTP transport"

Oktell SIP-GSM gateway

Version 1.2.4.0 14.11.2011 Free for Windows

USB modems: Huawei E1550, Huawei E160g, ZTE MF180

  • Registration: works
  • Caller Id: works
  • Call in/out: works

PBX Softwares

3CX Phone System

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: works
  • Transfer calls: works
  • Park calls: unknown

CallButler

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: unknown
  • Transfer calls: unknown
  • Park calls: unknown

Oktell

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: do not work
  • Transfer calls: works
  • Park calls: unknown

Telco Softswitches

MetaSwitch

See also: FreeSwitch MetaSwitch HowTo

  • Registration: works
  • Caller Id: works
  • Call in/out: works
  • Call waiting: unknown
  • Transfer calls: unknown
  • Park calls: unknown


CopperCom CSX

  • Registration: unknown
  • Caller Id: unknown
  • Call in/out: unknown
  • Call waiting: unknown
  • Transfer calls: unknown
  • Park calls: unknown

Routers

Apple AirPort Extreme

Using an Apple AirPort Extreme in NAT-PMP mode, it is pretty much Plug-n-Play. Simply enable NAT-PMP, Port Mapping is not required. FreeSWITCH detects NAT-PMP and enables the required ports. I have tested this using a new AirPort Extreme, Firmware Version 7.4.2. Static IP Address assigned to the WAN, NAT-PMP enabled, FreeSWITCH server assigned a static RFC-1918 address on the LAN. Pointed DNS record for the server to the static address of the router. Installed iSip from the Apple iTunes Store on my iPhone 3GS, registered the client to the DNS of the FreeSWITCH, added user/pass information and was able to place a call through the 3G network thanks to 3G Unrestrictor (jailbroken phone) which is available through the Cydia store. RTP sets up correctly, two-way audio works and this was using stock configs from installing the sample configs.

Let me know if you need more info! paige@bainbridge.comcastbiz.net

MiFi 2200 - Verizon Version

Running FreeSWITCH on a netbook using this 3G router as a gateway. Plug and Play. No adjustments needed. The reason I'm using FW instead of something more straightforward such as Twinkle is that I wanted to use a WIFI phone that did not traverse NAT well.

ActionTect MI424WR - Verizon FIOS

I am running Cisco SPA504g and Polycom 335 phones through this NAT Router. I was succesful with 2 different configurations. Using any SINGLE phone does not appear to need any router changes, just the NAT setup on the phones. For multiple phones we first got them working with NDLB-connectile-dysfunction and NDLB-force-rport in each of the user profiles AND enabling SIP ALG on the router.

I was later able to turn OFF SIP ALG (as many people reccomend) with changes in the phones configurations. For each LINE (i.e. SIP Registration) used on each phone I had to configure the LOCAL SIP Port to a unqiue port. It appears that this router has a 1-to-1 mapping of external ports to internal devices with SIP ALG disabled. I am refering to the sip port on the phone end not the FS Server SIP Port.

See notes in Cisco SPA 3xx/5xx and Polycom Generic sections above on phone settings.