[Home]

Summary:ASTERISK-28334: pjsip : direct_media options doesnt work
Reporter:Yasin CANER (ycaner)Labels:pjsip
Date Opened:2019-03-11 01:12:35Date Closed:2019-03-12 23:12:48
Priority:MinorRegression?
Status:Closed/CompleteComponents:Resources/res_pjsip
Versions:16.2.0 Frequency of
Occurrence
Constant
Related
Issues:
Environment:Ubuntu 18 4.15.0-29-generic Asterisk 16.2.0Attachments:( 0) asterisk-direct-media-ipv6-allow-ulaw-alaw.pcap
( 1) asterisk-dm_1.jpg
( 2) asterisk-d-media-outgoing-allow-all.pcap
( 3) asterisk-d-media-outgoing-disallow-all.pcap
( 4) extensions.conf
( 5) pjsip.conf
( 6) pjsip-show-endpoint.txt
( 7) result.jpg
( 8) verbose-log.txt
Description:Direct_media doesnt work properly

Asterisk doesnt send A leg's sdp offering ip address to B leg  and vice versa.
Although i tested some various configuration, it writes to sdp address line own address.


Comments:By: Asterisk Team (asteriskteam) 2019-03-11 01:12:36.332-0500

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

Please note that once your issue enters an open state it has been accepted. As Asterisk is an open source project there is no guarantee or timeframe on when your issue will be looked into. If you need expedient resolution you will need to find and pay a suitable developer. Asking for an update on your issue will not yield any progress on it and will not result in a response. All updates are posted to the issue when they occur.

By: Yasin CANER (ycaner) 2019-03-11 01:19:50.479-0500

result summary graph

By: Yasin CANER (ycaner) 2019-03-11 01:26:47.579-0500

Expected

By: Yasin CANER (ycaner) 2019-03-11 01:36:42.541-0500

opened some logs to understand what is going on

By: Yasin CANER (ycaner) 2019-03-11 01:59:51.198-0500

Expected

By: Yasin CANER (ycaner) 2019-03-11 06:05:07.897-0500

After i had a look code , i realized that direct_media value is only checked after call estableshed in chan_pjsip_get_rtp_peer function. it means that asterisk pjsip focuses re-invite/update method to change sdp connection  attributes.
in my view , it has a few pros;
1- asterisk can play media on early media until call is established.
2- it makes less complex

how to fix this problem? any suggestion?

By: Joshua C. Colp (jcolp) 2019-03-11 06:19:27.426-0500

You need to ensure that the configuration ensures that the same codec is used for each leg. As it is based on your configuration and the traces, one leg is ulaw and the other is alaw. As a result the code does not do direct media or even local more efficient RTP forwarding.

By: Yasin CANER (ycaner) 2019-03-11 07:38:55.765-0500

after fixing codec ordering mistake , direct media works via re-invite method

IPv4 address : tested -> ok
IPv6 address : tested -> there is wrong address on  'o line '

Thanks



By: Yasin CANER (ycaner) 2019-03-11 07:39:26.599-0500

Ipv6

By: Joshua C. Colp (jcolp) 2019-03-11 07:49:45.781-0500

Is it actually causing a problem? The o= line doesn't have any impact on where media goes.

By: Yasin CANER (ycaner) 2019-03-12 01:03:33.170-0500

it doesnt cause any problem for me  .it is for your information.

it is my mistake that couldnt realize miss-match codec.

Thanks for support.

By: Benjamin Keith Ford (bford) 2019-03-12 14:00:14.171-0500

Hey [~ycaner], sounds like this is working for you. Is it ok to close this issue?

By: Yasin CANER (ycaner) 2019-03-12 23:12:48.365-0500

it is configuration problem that i didnt realize. it has a minor bug for IPv6 proto but it doesnt any affect so without any action , it is closed