ACN: res_pjsip endpoint options

This commit adds the endpoint options required to control
Advanced Codec Negotiation.

incoming_offer_codec_prefs
outgoing_offer_codec_prefs
incoming_answer_codec_prefs
outgoing_answer_codec_prefs

The documentation may need tweaking and some additional edits
added, especially for the "answer" prefs.  That'll be handled
when things finalize.

This commit is safe to merge as it doens't alter any existing
functionality nor does it alter the previous codec negotiation
work which may now be obsolete.

Change-Id: I920ba925d7dd36430dfd2ebd9d82d23f123d0e11
This commit is contained in:
George Joseph
2020-07-06 08:56:44 -06:00
parent 81b5e4a73f
commit 2d22e34206
5 changed files with 434 additions and 0 deletions

View File

@@ -49,6 +49,7 @@
/* Needed for ast_sip_for_each_channel_snapshot struct */
#include "asterisk/stasis_channels.h"
#include "asterisk/stasis_endpoints.h"
#include "asterisk/stream.h"
#define PJSIP_MINVERSION(m,n,p) (((m << 24) | (n << 16) | (p << 8)) >= PJ_VERSION_NUM)
@@ -802,6 +803,14 @@ struct ast_sip_endpoint_media_configuration {
struct ast_flags incoming_call_offer_pref;
/*! Codec preference for an outgoing offer */
struct ast_flags outgoing_call_offer_pref;
/*! Codec negotiation prefs for incoming offers */
struct ast_stream_codec_negotiation_prefs incoming_offer_codec_prefs;
/*! Codec negotiation prefs for outgoing offers */
struct ast_stream_codec_negotiation_prefs outgoing_offer_codec_prefs;
/*! Codec negotiation prefs for incoming answers */
struct ast_stream_codec_negotiation_prefs incoming_answer_codec_prefs;
/*! Codec negotiation prefs for outgoing answers */
struct ast_stream_codec_negotiation_prefs outgoing_answer_codec_prefs;
};
/*!