[Asterisk-code-review] bridge native rtp.c: Fail native bridge if no framing match (asterisk[13])

Robert Cripps asteriskteam at digium.com
Wed Nov 7 06:08:19 CST 2018


Robert Cripps has posted comments on this change. ( https://gerrit.asterisk.org/10495 )

Change subject: bridge_native_rtp.c: Fail native bridge if no framing match
......................................................................


Patch Set 3:

(1 comment)

> (1 comment)

https://gerrit.asterisk.org/#/c/10495/3/bridges/bridge_native_rtp.c
File bridges/bridge_native_rtp.c:

https://gerrit.asterisk.org/#/c/10495/3/bridges/bridge_native_rtp.c@718
PS3, Line 718: 	read_ptime0 = ast_format_cap_get_format_framing(cap0, ast_channel_rawreadformat(bc0->chan));
             : 	read_ptime1 = ast_format_cap_get_format_framing(cap1, ast_channel_rawreadformat(bc1->chan));
             : 	write_ptime0 = ast_format_cap_get_format_framing(cap0, ast_channel_rawwriteformat(bc0->chan));
             : 	write_ptime1 = ast_format_cap_get_format_framing(cap1, ast_channel_rawwriteformat(bc1->chan));
> Yes, I think that is the real bug here.
I've been tracing this problem starting at where ast_format_cap framing member is written.
In res_pjsip_sdp_rtp.c there is function set_caps.
It calls ast_rtp_codecs_payload_formats() and sets framing on ast_format_cap using the instance called "peer"
It's called 3 times.
1st - on the A LEG when after the initial INVITE is received from the uac script and framing is written to 40ms
2nd - on the B LEG when the 200 OK is received to the INVITE sent by asterisk to the uas script and it's set to 20ms
3rd - on the B LEG when the 200 OK is sent to the UAC and it's set to 40ms
These all make sense as the A LEG is negotiated to 40ms and the B LEG to 20ms. However, that "peer" ast_format_cap is never saved anywhere.
When bridge_native compatible check is called cap0 and cap1 are constructed fresh and if you put logging inside ast_format_cap_get_format_framing() there is no trace of 40ms only 20ms.
I may be barking up the wrong tree here but the only place I can see the framing stored is where I put my patch.



-- 
To view, visit https://gerrit.asterisk.org/10495
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings

Gerrit-Project: asterisk
Gerrit-Branch: 13
Gerrit-MessageType: comment
Gerrit-Change-Id: Ic64b8fc6a140a93fbdb2f97550a40d0ff334e607
Gerrit-Change-Number: 10495
Gerrit-PatchSet: 3
Gerrit-Owner: Robert Cripps <rcripps at voxbone.com>
Gerrit-Reviewer: George Joseph <gjoseph at digium.com>
Gerrit-Reviewer: Jenkins2 (1000185)
Gerrit-Reviewer: Joshua Colp <jcolp at digium.com>
Gerrit-Reviewer: Robert Cripps <rcripps at voxbone.com>
Gerrit-Comment-Date: Wed, 07 Nov 2018 12:08:19 +0000
Gerrit-HasComments: Yes
Gerrit-HasLabels: No
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20181107/53a52e74/attachment-0001.html>


More information about the asterisk-code-review mailing list