Hi,
I'm trying to understand the best (or reasonable) approach of offloading
SSL encryption from backend to Kamailio. Let me simplify a little bit:
UAC == SIP/TLS ==> Kamailio == SIP/UDP ==> FreeSWITCH
My main problem is in Contact header of SIP packet which passes through
Kamailio SIP proxy and remains unmodified.
For example, REGISTER request. There is FreeSWITCH backend which is
registrar server as well. UAC send REGISTER request to it through Kamailio
SIP proxy via SIP/TLS. This request dispatches to backend(s) by Kamailio
with dispatcher module. Backend does not configured to support TLS.
In this case everything works fine: I see REGISTER requests on FreeSWITCH.
But Contact header of SIP message which is passing Kamailio remains
unmodified. And as result I see on FreeSWITCH something like the following:
Call-ID: Jpmjp4ruHI
User: user_name@domain_name
Contact: "" <sip:user_name@uac_ip
:27026;transport=tls;fs_path=sip%3Akamailio_ip%3A5060>
Agent: Linphone/3.10.2 (belle-sip/1.5.0)
Status: Registered(TLS)(unknown) EXP(2016-11-28 11:48:28) EXPSECS(110)
Ping-Status: Reachable
Ping-Time: 0.00
Host: kamailio_host
IP: kamailio_ip
Port: 5060
Auth-User: unknown
Auth-Realm: domain_name
MWI-Account: user_name@domain_name
As a result FreeSWITCH tries to originate call over SIP/TLS and it fails
because FreeSWITCH does not configured to work with TLS.
I want to understand what is correct workaraound of this issue. Do I need
to modify Contact header manually on kamailio host and this is right
approach? Or kamailio in case of correct config rewrites this header itself?
If parts of my kamailio config would be useful I will post it later.
Thanks in advance.
--
С уважением,
Владислав Захожай