Asterisk 13.1.0 PJSIP over TCP gives PJSIP_ETPNOTSUITABLE

Hi I’ve just upgraded a local test system from Asterisk 13.0.1 to 13.1.0 and am having problems.

I have 2 virtualbox VMs.
First VM runs OpenSIPS and rtpproxy.
Second VM runs Asterisk 13.1.0. chan_pjsip is configured to connect Asterisk to OpenSIPS (over TCP), with Linphone client connected to Asterisk using chan_sip (over UDP).

Asterisk registers ok with OpenSIPS over TCP on startup, but calls initated by the Linphone client (that should get forwarded on to OpenSIPS and then back to the same Asterisk) are currently failing. Call invite never gets forwarded to OpenSIPS.

*CLI> Dialing call 1002 <+449991002> to PJSIP/+44999123@mytrunk....
[Jan 14 16:01:16] WARNING[20909]: pjsip:0 <?>: 	tsx0x7f4074009 ...Failed to send Request msg INVITE/cseq=13219 (tdta0x7f40740073e0)! err=171064 (Unsuitable transport selected (PJSIP_ETPNOTSUITABLE))
1002 <+449991002> to PJSIP/+44999123@mytrunk DialStatus: CONGESTION HangupCause: 34
1002 <+449991002> to PJSIP/+44999123@mytrunk DialStatus: CONGESTION HangupCause: 34 - using err_default
*CLI> pjsip show endpoints

 Endpoint:  <Endpoint/CID.....................................>  <State.....>  <Channels.>
    I/OAuth:  <AuthId/UserName...........................................................>
        Aor:  <Aor............................................>  <MaxContact>
      Contact:  <Aor/ContactUri...............................>  <Status....>  <RTT(ms)..>
  Transport:  <TransportId........>  <Type>  <cos>  <tos>  <BindAddress..................>
   Identify:  <Identify/Endpoint.........................................................>
        Match:  <ip/cidr.........................>
    Channel:  <ChannelId......................................>  <State.....>  <Time(sec)>
        Exten: <DialedExten...........>  CLCID: <ConnectedLineCID.......>
 =========================================================================================

 Endpoint:  mytrunk                                              Not in use    0 of inf
    OutAuth:  mytrunk/GW1
        Aor:  mytrunk                                            0
      Contact:  mytrunk/sip:10.10.20.12:5060                     Unknown               nan
  Transport:  simpletrans               tcp      0      0  10.10.20.13:5060
   Identify:  mytrunk/mytrunk
        Match: 10.10.20.12/32

pjsip.conf (for TCP) contains…

;==============TRANSPORTS

[simpletrans]
type=transport
protocol=tcp
bind=10.10.20.13

;===============TRUNK
[mytrunk]
type=registration
transport=simpletrans
outbound_auth=mytrunk
outbound_proxy=sip:10.10.20.12\;transport=tcp
server_uri=sip:10.10.20.12
client_uri=sip:GW1@10.10.20.12
retry_interval=60
max_retries=1440

[mytrunk]
type=auth
auth_type=userpass
password=*******
username=GW1

[mytrunk]
type=aor
contact=sip:10.10.20.12:5060

[mytrunk]
type=endpoint
transport=simpletrans
context=externalIncoming
disallow=all
allow=gsm
outbound_auth=mytrunk
aors=mytrunk
force_rport=yes
direct_media=no
media_encryption_optimistic=no

[mytrunk]
type=identify
endpoint=mytrunk
match=10.10.20.12

If I change pjsip.conf (& opensips) to use UDP rather than TCP it all works as expected.

Prior to the upgrade I had the same config (excluding new media_encryption_optimistic=no option) working fine with Asterisk 13.0.1.

Any ideas what might be the issue?

Do I need some additional (asterisk 13.1.0) pjsip.conf change to get this to work over TCP?

For solution to my problem see: https://issues.asterisk.org/jira/browse/ASTERISK-24698