If I use direct_media = yes, SDP not update on 2nd INVITE

I made B2BUA gateway.
On Asterisk 18 with PJSIP, I set for direct_media =yes.

After 200 OK and ACK, Asterisk will send 2nd INVITE to both side correctly.
But SDP is not updated.
So Asterisk still handle with RTP.

messages log said “media will flow directly between them” it seem working.
Does anyone have any good ideas for this?

Are you doing something that requires Asterisk to see the media, or to see inband, or RFC 4833 DTMF?

Do you have external_* settings on the transport?

I commented out for allow = ulaw.
So If incoming call Asterisk respond with 488 Not Acceptable Here.
Thank you.

I have settings like below.
external_signaling_address=20.78.xx.xx
external_media_address=20.78.xx.xx

I commented out for media, SDP become local address on 1st and 2nd INVITE.
Thank you.

What version of Asterisk?

Asterisk 18.13.0

That’s an almost year old version of Asterisk. You should always try the latest version to ensure you aren’t chasing/experiencing issues that have already been resolved.

You can opt not to, but people may be less willing to spend time on it.

Thank you.
I need to connect a VoIP trunk provider of Japan.
They provide patch for Asterisk for connect to their trunk.
Because it’s not B2BUA trunk.
Asterisk 18.13.0 is latest version which they provide patch for Asterisk.

I don’t have anything additional to add, then.

What does this mean?

and more important what do the patch do !!!
or is it just a config they provide

are you allowed to post the patch here ?

They give permission for connect to their trunk if we use certificated PBX.
it match for rule for their SIP trunk like headers or register interval and format.
Patched Asterisk is match for rule of their trunk.
In case of B2BUA SIP trunk, there is gateway(B2BUA) server in front of their SIP server.

You can download the patch:

hmm that is some hefty patching off the sip dialog handeling
either they have a realy broken platform or they have just desided that RFC is not somthing that they need to comply with

but I will guess that you can always try apply it directly to 18.18.0 and se if the patch fails

I can’t/won’t look at un-CLA code, but that sounds… bad.

the code is released under gpl2 but translatet to japanese :-/
and the patch is 978 lines, so quite large

but yes it’s un-CLA code, that jcolp are’t allowed to use

and I do not see that any of it would ever be accepted

So is it possible they… broke direct media?

most likely
most of it is adding support for where it is a normal sip or rakuten-sip
and they change a lot of timing to use milliseconds so that is that

and they also changes respons codes and they are only to be send one time
so any aditionals are being drop

It’s working.
I commented out external_media_address=20.78.xx.xxx on pjsip.conf.

there is 2 VMs on MS Azure.
1st one is PBX and 2nd is patched Asterisk.
VMs are in same subnet.
patched Asterisk is connecting to Rakuten-trunk via Internet.

If commented out for media, SDP specify local address, but it seem it will ignore SDP in case of media_direct = yes.
RTP is communicating between PBX and Rakuten-trunk correctly.
Thank you.

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