TCP Dial Via Proxy
Hello,
We have an Asterisk dial which sends the call via a proxy using //, for example:
Dial(SIP/${EXTEN}@peer_address//proxy_address)
Does anyone know how we can make the SIP to the proxy use TCP? We tried making proxy_address match a peer in sip.conf with “transport = tcp” but that didn’t seem to work. We are using chan_sip.
Thanks very much for any advice.
8 thoughts on - TCP Dial Via Proxy
David,
We had this exact “issue” in the past and were not able to figure out how to do it. Where we wanted tcp we prefixed the sip URI with “force_tcp”. So:
Dial(SIP/1234@1.1.1.1//2.2.2.2)
became:
Dial(SIP/force_tcp1234@1.1.1.1//2.2.2.2)
Have you tried to define outboundproxy=proxy_address in your sip.conf?
-H
—
Henning Follmann | hfollmann@itcfollmann.com
—
The answer is chan_pjsip. You can do this with chan_pjsip. There’s no real support for chan_sip anymore. It’s dead, it’s going away. No fixes or updates will be accepted against it as of this point.
From: asterisk-users on behalf of Dovid Bender
Reply-To: Asterisk Users Mailing List – Non-Commercial Discussion
Date: Thursday, July 21, 2022 at 9:21 AM
To: Asterisk Users Mailing List – Non-Commercial Discussion
Subject: Re: [asterisk-users] TCP dial via proxy
David,
We had this exact “issue” in the past and were not able to figure out how to do it. Where we wanted tcp we prefixed the sip URI with “force_tcp”. So:
Dial(SIP/1234@1.1.1.1//2.2.2.2)
became:
Dial(SIP/force_tcp1234@1.1.1.1//2.2.2.2)
Hello,
We have an Asterisk dial which sends the call via a proxy using //, for example:
Dial(SIP/${EXTEN}@peer_address//proxy_address)
Does anyone know how we can make the SIP to the proxy use TCP? We tried making proxy_address match a peer in sip.conf with “transport = tcp” but that didn’t seem to work. We are using chan_sip.
Thanks very much for any advice.
Hi Henning,
We tried using outboundproxy as follows, but the SIP from Asterisk to the proxy still went via UDP. Is there anything else you’d suggest? Thank you.
In extensions.conf:
Dial(SIP/${EXTEN}@sip-peer)
In sip.conf:
[general]
tcpenable = yes tcpbindaddr = 0.0.0.0
[sip-peer]
host = final.destination.com transport = tcp outboundproxy = our.proxy.com
Hi Dovid,
Thanks for the reply. We are indeed able to force TCP from the Kamailio proxy, but haven’t been able to force it between Asterisk and Kamailio.
Thank you Thomas. I know it would be good to move to pjsip, and that’s coming in a future product version, but it isn’t used in the version of this scenario.
–000000000000d1421f05e458e14a Content-Type: text/plain; charset=”UTF-8″
Content-Transfer-Encoding: quoted-printable
Hi, which version are you using ?
please show: asterisk -rx “sip show peer sip-peer”
I checked… I use UDP and TCP, my phone via UDP, telekom via TCP and works
same => n,dial(SIP/${EXTEN}@sip-trunk-telekom)
[image: image.png]
–00000000000098a75905e4598721
Content-Type: text/plain; charset=”UTF-8″
Content-Transfer-Encoding: quoted-printable
Hi Łukasz,
A TCP call works fine under normal circumstances. It’s just when we send the call via a proxy that we have a problem, because the call to the proxy doesn’t appear to use TCP.
Thank you.