mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-10 06:49:40 +00:00
Change the "external_media_address" PJSIP endpoint option to "media_address".
The endpoint option does not apply to communication with external entities. Rather, the option is applied to all communications with the endpoint. The external_media_address transport configuration option may override the endpoint option if it turns out that we are going to be communicating with an external entity. Two things of note: 1) I have not updated the XML documentation. This is being taken care of by Rusty as part of his work on issue ASTERISK-22405 2) This commit is likely to cause testsuite failures since there are tests that use the external_media_address endpoint option, and they will need to be changed over. Well, I'm planning to get that updated ASAP after this commit. (closes issue ASTERISK-22528) reported by Rusty Newton ........ Merged revisions 399283 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@399284 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -490,8 +490,8 @@ struct ast_sip_t38_configuration {
|
||||
*/
|
||||
struct ast_sip_endpoint_media_configuration {
|
||||
AST_DECLARE_STRING_FIELDS(
|
||||
/*! Optional external media address to use in SDP */
|
||||
AST_STRING_FIELD(external_address);
|
||||
/*! Optional media address to use in SDP */
|
||||
AST_STRING_FIELD(address);
|
||||
/*! SDP origin username */
|
||||
AST_STRING_FIELD(sdpowner);
|
||||
/*! SDP session name */
|
||||
|
@@ -656,7 +656,7 @@ int ast_res_pjsip_initialize_configuration(void)
|
||||
ast_sorcery_object_field_register_custom(sip_sorcery, "endpoint", "auth", "", inbound_auth_handler, NULL, 0, 0);
|
||||
ast_sorcery_object_field_register_custom(sip_sorcery, "endpoint", "outbound_auth", "", outbound_auth_handler, NULL, 0, 0);
|
||||
ast_sorcery_object_field_register(sip_sorcery, "endpoint", "aors", "", OPT_STRINGFIELD_T, 0, STRFLDSET(struct ast_sip_endpoint, aors));
|
||||
ast_sorcery_object_field_register(sip_sorcery, "endpoint", "external_media_address", "", OPT_STRINGFIELD_T, 0, STRFLDSET(struct ast_sip_endpoint, media.external_address));
|
||||
ast_sorcery_object_field_register(sip_sorcery, "endpoint", "media_address", "", OPT_STRINGFIELD_T, 0, STRFLDSET(struct ast_sip_endpoint, media.address));
|
||||
ast_sorcery_object_field_register_custom(sip_sorcery, "endpoint", "identify_by", "username", ident_handler, NULL, 0, 0);
|
||||
ast_sorcery_object_field_register(sip_sorcery, "endpoint", "direct_media", "yes", OPT_BOOL_T, 1, FLDSET(struct ast_sip_endpoint, media.direct_media.enabled));
|
||||
ast_sorcery_object_field_register_custom(sip_sorcery, "endpoint", "direct_media_method", "invite", direct_media_method_handler, NULL, 0, 0);
|
||||
|
@@ -889,7 +889,7 @@ static int create_outgoing_sdp_stream(struct ast_sip_session *session, struct as
|
||||
/* Add connection level details */
|
||||
if (direct_media_enabled) {
|
||||
ast_copy_string(hostip, ast_sockaddr_stringify_fmt(&session_media->direct_media_addr, AST_SOCKADDR_STR_ADDR), sizeof(hostip));
|
||||
} else if (ast_strlen_zero(session->endpoint->media.external_address)) {
|
||||
} else if (ast_strlen_zero(session->endpoint->media.address)) {
|
||||
pj_sockaddr localaddr;
|
||||
|
||||
if (pj_gethostip(session->endpoint->media.rtp.ipv6 ? pj_AF_INET6() : pj_AF_INET(), &localaddr)) {
|
||||
@@ -897,7 +897,7 @@ static int create_outgoing_sdp_stream(struct ast_sip_session *session, struct as
|
||||
}
|
||||
pj_sockaddr_print(&localaddr, hostip, sizeof(hostip), 2);
|
||||
} else {
|
||||
ast_copy_string(hostip, session->endpoint->media.external_address, sizeof(hostip));
|
||||
ast_copy_string(hostip, session->endpoint->media.address, sizeof(hostip));
|
||||
}
|
||||
|
||||
media->conn->net_type = STR_IN;
|
||||
|
@@ -671,7 +671,7 @@ static int create_outgoing_sdp_stream(struct ast_sip_session *session, struct as
|
||||
media->desc.media = pj_str(session_media->stream_type);
|
||||
media->desc.transport = STR_UDPTL;
|
||||
|
||||
if (ast_strlen_zero(session->endpoint->media.external_address)) {
|
||||
if (ast_strlen_zero(session->endpoint->media.address)) {
|
||||
pj_sockaddr localaddr;
|
||||
|
||||
if (pj_gethostip(session->endpoint->media.t38.ipv6 ? pj_AF_INET6() : pj_AF_INET(), &localaddr)) {
|
||||
@@ -679,7 +679,7 @@ static int create_outgoing_sdp_stream(struct ast_sip_session *session, struct as
|
||||
}
|
||||
pj_sockaddr_print(&localaddr, hostip, sizeof(hostip), 2);
|
||||
} else {
|
||||
ast_copy_string(hostip, session->endpoint->media.external_address, sizeof(hostip));
|
||||
ast_copy_string(hostip, session->endpoint->media.address, sizeof(hostip));
|
||||
}
|
||||
|
||||
media->conn->net_type = STR_IN;
|
||||
|
Reference in New Issue
Block a user