TCP Dial Via Proxy

Home » Asterisk Users » TCP Dial Via Proxy
Asterisk Users 8 Comments

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)

  • 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.