pjsip: Support dual stack automatically.

This change adds support for dual stack automatically. No
configuration is required and the IP address and version
in the SIP messages and SDP will be automatically changed
based on the transport over which the message is being
sent. RTP usage has also been changed to listen on both
IPv4 and IPv6 simultaneously to allow media to flow, and
to allow ICE support on both simultaneously. This also
allows failover between IPv6 and IPv4 to work as expected.

ASTERISK-26309 #close

Change-Id: I235a421d8f9a326606d861b449fa6fe3a030572d
This commit is contained in:
Joshua Colp
2016-09-19 11:13:21 +00:00
parent c2036c827c
commit bb982480d8
9 changed files with 194 additions and 82 deletions

View File

@@ -4291,6 +4291,7 @@ static int unload_pjsip(void *data)
if (ast_pjsip_endpoint && serializer_pool[0]) {
ast_res_pjsip_cleanup_options_handling();
internal_sip_destroy_outbound_authentication();
ast_res_pjsip_cleanup_message_ip_updater();
ast_sip_destroy_distributor();
ast_res_pjsip_destroy_configuration();
ast_sip_destroy_system();
@@ -4460,6 +4461,12 @@ static int load_module(void)
}
ast_res_pjsip_init_options_handling(0);
if (ast_res_pjsip_init_message_ip_updater()) {
ast_log(LOG_ERROR, "Failed to initialize message IP updating. Aborting load\n");
goto error;
}
ast_cli_register_multiple(cli_commands, ARRAY_LEN(cli_commands));
AST_TEST_REGISTER(xml_sanitization_end_null);