PJSIP redirect_method=user not working anymore

Hi,

I recently updated from Asterisk 17.0.1 to 18.1.0 and since then call forwarding initiated from handsets or other endpoint devices is not working.

Before the update we would see logs like the below for a call that was redirected:

[Dec  6 12:33:09] VERBOSE[1305][C-00000621] app_dial.c: Called PJSIP/1111-1111-1111/sip:1111-1111-1111@X.X.X.X:39364
[Dec  6 12:33:09] VERBOSE[1305][C-00000621] app_dial.c: Now forwarding PJSIP/carrier-00000caa to 'Local/01234567890@hpbx' (thanks to PJSIP/1111-1111-1111-00000cab)
[Dec  6 12:33:09] NOTICE[1305][C-00000621] app_dial.c: Not accepting call completion offers from call-forward recipient Local/01234567890@hpbx-00000003;1
[Dec  6 12:33:09] VERBOSE[1310][C-00000621] pbx.c: Executing [01234567890@hpbx:1] AGI("Local/01234567890@hpbx-00000003;2", "hpbx.agi") in new stack

The call would be redirected to the desired number the endpoint set the call forwarding to, all good.

After the upgrade to 18.1.0 we are now seeing the following log errors and the call does not get forwarded.

[Dec 10 08:18:09] VERBOSE[11201][C-000002bf] app_dial.c: Called PJSIP/1111-1111-1111/sip:1111-1111-1111@X.X.X.X:1254
[Dec 10 08:18:09] VERBOSE[11201][C-000002bf] app_dial.c: Now forwarding PJSIP/carrier-000005b8 to 'Local/01234567890@hpbx' (thanks to PJSIP/1111-1111-1111-000005b9)
[Dec 10 08:18:09] ERROR[11201][C-000002bf] translate.c: Cannot determine best translation path since one capability supports no formats
[Dec 10 08:18:09] WARNING[11201][C-000002bf] core_local.c: No translator path exists for channel type Local (native (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|testlaw|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)) to (nothing)

Nothing else has changed with our configuration and everything works as it should.

Are there some additional settings perhaps that I need to set on the PJSIP endpoints, or relating to redirect_method??

Any help, advise or suggestions would be much appreciated.

Thank you.

Kevin

What is the full PJSIP endpoint configuration? Do you have select codecs allowed?

Hi,

Thanks for the fast response.

Our default endpoint config is setup like this:

type=endpoint
rewrite_contact=yes
aors=1111-1111-1111
auth=1111-1111-1111
rtp_symmetric=yes
force_rport=yes
rewrite_contact=yes
direct_media=no
context=hpbx
disallow=all
allow=alaw
allow=h264
callerid=1111
allow_subscribe=yes
trust_id_inbound=yes
send_rpid=yes
dtmf_mode=rfc4733
message_context=messages
mailboxes=1111@hpbx1111
subscribe_context=hpbx1111
language=en
device_state_busy_at=3

I am unaware of a “select codes” option, is this new?

Thanks.

Kevin

No, I meant for disallow and allow lines. What is the configuration for the carrier?

Hi,

Carrier endpoint config is:

[carrier]
type=endpoint
transport=transport-tls
context=carrier
disallow=all
allow=alaw
direct_media=no
rtp_symmetric=yes
aors=carrier
media_encryption=sdes

Thanks.

Kevin

Do things change if you remove h264 from the endpoint configuration of 1111?

Hi,

I have not tried that yet.

I will try now and reply with the results.

Thanks.

Kevin

Hi,

With H265 removed I get the same result and falure:

[Dec 10 13:19:10] VERBOSE[1962][C-00004a18] app_dial.c: Now forwarding PJSIP/carrier-0000b2fd to 'Local/01234567890@hpbx' (thanks to PJSIP/1111-1111-1111-0000b301)
[Dec 10 13:19:10] ERROR[1962][C-00004a18] translate.c: Cannot determine best translation path since one capability supports no formats
[Dec 10 13:19:10] WARNING[1962][C-00004a18] core_local.c: No translator path exists for channel type Local (native (codec2|g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin12|slin16|slin24|slin32|slin44|slin48|slin96|slin192|lpc10|g729|speex|speex16|speex32|ilbc|g722|siren7|siren14|testlaw|g719|opus|jpeg|png|h261|h263|h263p|h264|h265|mpeg4|vp8|vp9|red|t140|t38|silk8|silk12|silk16|silk24)) to (nothing)

Thanks.

Kevin

I would suggest filing an issue[1] then with configuration that reproduces the issue.

[1] https://issues.asterisk.org/jira

Hi,

OK, I will look to do that… just one final thing, we use several different carriers and calls coming in from a different carrier do still forward as they always did… only difference here is this carrier uses UDP only and not TLS… could that be in any way connected, are the SIP packets and SDP payloads with all the codec info treated differently in some way between UDP and TLS?

Not to worry if you do not know, I will proceed to raise an issue and possibly try changing our TLE carrier back to good old UDP.

Thanks again for the super fast responses, really appreciated.

Kevin

I would not expect TLS or SRTP to have an impact on such a thing.

Hi,

Just a quick update… after disabling TLS and SRTP for the carrier connection, the forwarding all started working again.

Not sure if it is SRTP or TLS causing the issue, I will try and test further over the coming days, the report all my findings in the issue report.

Thanks.

Kevin

Hi,

Another update on this issue, it seems that having TLS enabled works OK, but without SRTP.

So call forwarding stops working in 18.1 if calls are from a carrier using both TLS and SRTP.

Thanks.

Kevin

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.