diff options
author | Liong Sauw Ming <ming@teluu.com> | 2016-05-19 06:55:16 +0000 |
---|---|---|
committer | Liong Sauw Ming <ming@teluu.com> | 2016-05-19 06:55:16 +0000 |
commit | b897438fb3b3f6efcd62b87f2c9902ced7e01be3 (patch) | |
tree | 0829db82d9346eec812f6d07c893b3641654a6f2 /pjsip/src/pjsip/sip_transport_tls.c | |
parent | 68958ad7d2304c6c78ca899ddb09827bcd993891 (diff) |
Fixed #1921: Add support to handle IPv6 transports in pjsua_transport API and transport keep alive
Also:
- add more detailed transport info for TCP and TLS transport
- fixed pjsua sample app which tries to get IPv4 local address from IPv6 transport.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5308 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsip/sip_transport_tls.c')
-rw-r--r-- | pjsip/src/pjsip/sip_transport_tls.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/pjsip/src/pjsip/sip_transport_tls.c b/pjsip/src/pjsip/sip_transport_tls.c index a83ac323..c73551dc 100644 --- a/pjsip/src/pjsip/sip_transport_tls.c +++ b/pjsip/src/pjsip/sip_transport_tls.c @@ -309,6 +309,8 @@ PJ_DEF(pj_status_t) pjsip_tls_transport_start2( pjsip_endpoint *endpt, unsigned async_cnt, pjsip_tpfactory **p_factory) { + enum { INFO_LEN = 100 }; + char local_addr[PJ_INET6_ADDRSTRLEN+10]; pj_pool_t *pool; pj_bool_t is_ipv6; int af, sip_ssl_method; @@ -546,6 +548,19 @@ PJ_DEF(pj_status_t) pjsip_tls_transport_start2( pjsip_endpoint *endpt, goto on_error; } + /* Set transport info. */ + if (listener->factory.info == NULL) { + listener->factory.info = (char*) pj_pool_alloc(listener->factory.pool, + INFO_LEN); + } + pj_sockaddr_print(listener_addr, local_addr, sizeof(local_addr), 3); + pj_ansi_snprintf( + listener->factory.info, INFO_LEN, "tls %s [published as %.*s:%d]", + local_addr, + (int)listener->factory.addr_name.host.slen, + listener->factory.addr_name.host.ptr, + listener->factory.addr_name.port); + if (has_listener) { PJ_LOG(4,(listener->factory.obj_name, "SIP TLS listener is ready for incoming connections " |