Hello everyone,
Just got a couple of new Yealink T48G phones and I am having a couple of rather weird (at least for me) issues with them.
Whenever I enable TLS authentication on the phones, they register with the FreeSWITCH box but there's no media on the
outbound calls and I'm unable to get any incoming calls at all. If I switch the authentication protocol to TCP or UDP it's all
working good. I tried enabling/disabling SRTP for all 3 protocols and it kept the behaviour consistent.
All calls made are local (registered to the same FreeSWITCH box) and only these phones have any issues with calls.
I can call someone from the Yealink and then add another person in a 3-way conference.
That way the two remote parties can hear eachother, but the Yealink is dead silent.
Here's the profile on which all phones are connected:
<profile name="local">
<domains>
<domain name="all" alias="true" parse="false"/>
</domains>
<settings>
<param name="debug" value="0"/>
<param name="sip-trace" value="no"/>
<param name="sip-capture" value="no"/>
<param name="watchdog-enabled" value="no"/>
<param name="watchdog-step-timeout" value="30000"/>
<param name="watchdog-event-timeout" value="30000"/>
<param name="log-auth-failures" value="true"/>
<param name="forward-unsolicited-mwi-notify" value="false"/>
<param name="rfc2833-pt" value="101"/>
<param name="sip-port" value="5060"/>
<param name="dialplan" value="XML"/>
<param name="liberal-dtmf" value="true"/>
<param name="dtmf-duration" value="2000"/>
<param name="inbound-codec-prefs" value="SILK,OPUS,G722,PCMU,PCMA,GSM"/>
<param name="outbound-codec-prefs" value="PCMU,PCMA,GSM"/>
<param name="rtp-timer-name" value="soft"/>
<param name="rtp-ip" value="$${local_ip_v4}"/>
<param name="sip-ip" value="$${local_ip_v4}"/>
<param name="hold-music" value="local_stream://moh"/>
<param name="record-path" value="$${base_dir}/recordings"/>
<param name="record-template" value="${caller_id_number}.${target_domain}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
<param name="manage-presence" value="true"/>
<param name="inbound-codec-negotiation" value="generous"/>
<param name="tls" value="true"/>
<param name="tls-only" value="false"/>
<param name="tls-version" value="tlsv1"/>
<param name="tls-bind-params" value="transport=tls"/>
<param name="tls-sip-port" value="5061"/>
<param name="tls-cert-dir" value="$${base_dir}/conf/ssl"/>
<param name="tls-verify-date" value="true"/>
<param name="inbound-late-negotiation" value="true"/>
<param name="inbound-zrtp-passthru" value="true"/>
<param name="nonce-ttl" value="60"/>
<param name="auth-calls" value="yes"/>
<param name="inbound-reg-force-matching-username" value="true"/>
<param name="auth-all-packets" value="false"/>
<param name="ext-rtp-ip" value="$${local_ip_v4}"/>
<param name="ext-sip-ip" value="$${local_ip_v4}"/>
<param name="challenge-realm" value="auto_from"/>
</settings>
</profile>
and (due to their sizes) a tport log, a siptrace for an outgoing call from the Yealink and an incoming call (that never rings the phone) with TLS enabled.
The whole setup is:
FreeSWITCH -- Internet -- NAT Router -- Yealink and Android phone (in different subnets so no direct LAN communication between them)
Any thoughts are greatly appreciated.
Thanks in advance!
Kind regards,
--
Iskren Hadzhinedev