Merge "pjsip: Fix a few media bugs with reinvites and asymmetric payloads." into 13

This commit is contained in:
Joshua Colp
2016-10-27 16:51:33 -05:00
committed by Gerrit Code Review
8 changed files with 74 additions and 7 deletions

View File

@@ -919,6 +919,14 @@
On outbound requests, force the user portion of the Contact header to this value.
</para></description>
</configOption>
<configOption name="asymmetric_rtp_codec" default="no">
<synopsis>Allow the sending and receiving RTP codec to differ</synopsis>
<description><para>
When set to "yes" the codec in use for sending will be allowed to differ from
that of the received one. PJSIP will not automatically switch the sending one
to the receiving one.
</para></description>
</configOption>
</configObject>
<configObject name="auth">
<synopsis>Authentication type</synopsis>

View File

@@ -1939,6 +1939,7 @@ int ast_res_pjsip_initialize_configuration(const struct ast_module_info *ast_mod
ast_sorcery_object_field_register_custom(sip_sorcery, "endpoint", "contact_acl", "", endpoint_acl_handler, contact_acl_to_str, NULL, 0, 0);
ast_sorcery_object_field_register(sip_sorcery, "endpoint", "subscribe_context", "", OPT_CHAR_ARRAY_T, 0, CHARFLDSET(struct ast_sip_endpoint, subscription.context));
ast_sorcery_object_field_register_custom(sip_sorcery, "endpoint", "contact_user", "", contact_user_handler, contact_user_to_str, NULL, 0, 0);
ast_sorcery_object_field_register(sip_sorcery, "endpoint", "asymmetric_rtp_codec", "no", OPT_BOOL_T, 1, FLDSET(struct ast_sip_endpoint, asymmetric_rtp_codec));
if (ast_sip_initialize_sorcery_transport()) {
ast_log(LOG_ERROR, "Failed to register SIP transport support with sorcery\n");

View File

@@ -370,6 +370,11 @@ static int set_caps(struct ast_sip_session *session, struct ast_sip_session_medi
session->dsp = NULL;
}
}
if (ast_channel_is_bridged(session->channel)) {
ast_channel_set_unbridged_nolock(session->channel, 1);
}
ast_channel_unlock(session->channel);
}