Hi,
I'm trying to understand what is the best or suitable approach to the following use case. Let me simplify thing a little bit.
Suppose we have one FreeSWITCH registrar behind SIP proxy (kamailio). I'd like to offload SSL/TLS encryption/decryption to SIP proxy:
REGISTER:
Request: UAC == SIP/TLS ==> Kamailio == UDP ==> FreeSWITCH:50
Reply: UAC <== SIP/TLS == Kamailio <== UDP == FreeSWITCH
INVITE:
UAC1 == SIP/TLS ==> Kamailio == UDP == > FreeSWITCH == UDP ==> Kamailio == SIP/TLS ==> UAC2
(FreeSWITCH uses kamailio as outbound proxy with fs_path tag appended in dialplan).
The main problem is in Contact header which contains transport=tls and we can see it in FreeSWITCH console:
Contact: "" <sip:user@UAC_IP:57976;transport=tls>
Status: Registered(TLS)(unknown) EXP(2016-11-22 10:16:59) EXPSECS(108)
IP: SIP_PROXY_IP
Port:
5060
When FreeSWITCH sends INVITE to UAC2 (during call) it tries to establish TLS session to UAC2. It fails because there is no TLS-enabled sofia profiles in the config of FreeSWITCH.
I have only one solution in my mind: rewrite transport tag in Contact header on SIP proxy (transport=udp to FreeSWITCH, and transport=tls to UAC).
I'd like to know it this solution ok or there is more elegant solutions.
I've tried appending tag transport=udp in FreeSWITCH's dialplan but no success.
Thank you in advance.
--
С уважением,
Владислав Захожай