[Home]

Summary:ASTERISK-26937: rtp ice is never initialized?
Reporter:Rachel (firefly099)Labels:
Date Opened:2017-04-11 04:25:58Date Closed:2017-04-11 04:44:27
Priority:MajorRegression?
Status:Closed/CompleteComponents:
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:Hi, I tried to set up p2p between 2 imsdroid which supports ice, stun, turn itself, but asterisk will remove candidates info from original INVITE messages. is it possible that Asterisk doesn't remove candidates info and let clients do p2p based on candidates info? I tried asterisk directrtpsetup, directmedia, it couldn't work as good as it should be. sometimes there is no video or audio at all, which means the p2p behavior is not correct. Asterisk should have taken public IP, turn relay IP in candidates info into consideration if it really wants to help clients set up p2p instead of just removing candidates info, which leaves clients no option.
I found in rtp_engine.c,
struct ast_rtp_engine_ice *ast_rtp_instance_get_ice(struct ast_rtp_instance *instance)
{ return instance->engine->ice; }
but I didn't find any codes to initialize engine->ice, so ice will never be added to sdp, am I right?
How can I initialize rtp engine ice to make sure a=candidate:*** will be added back to sdp?
Comments:By: Asterisk Team (asteriskteam) 2017-04-11 04:25:58.939-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].

By: Joshua C. Colp (jcolp) 2017-04-11 04:44:27.090-0500

As I mentioned on your community post P2P for ICE negotiation is not supported. It occurs between Asterisk and the client itself. If you don't have ICE support then you most likely do not have PJPROJECT installed, which is required for ICE support. You can use the bundled support[1] to install it with Asterisk.

[1] https://wiki.asterisk.org/wiki/display/AST/Building+and+Installing+pjproject#BuildingandInstallingpjproject-bundledUsingtheBundledVersionofpjproject