static void update_transport_info(struct tls_listener *listener)
{
    enum { INFO_LEN = 100 };
    char local_addr[PJ_INET6_ADDRSTRLEN + 10];
    char pub_addr[PJ_INET6_ADDRSTRLEN + 10];
    int len;
    pj_sockaddr *listener_addr = &listener->factory.local_addr;

    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_addr_str_print(&listener->factory.addr_name.host, 
		      listener->factory.addr_name.port, pub_addr, 
		      sizeof(pub_addr), 1);
    len = pj_ansi_snprintf(
	    listener->factory.info, INFO_LEN, "tls %s [published as %s]",
	    local_addr, pub_addr);
    PJ_CHECK_TRUNC_STR(len, listener->factory.info, INFO_LEN);

    if (listener->ssock) {
	char addr[PJ_INET6_ADDRSTRLEN+10];

	PJ_LOG(4, (listener->factory.obj_name,
	       "SIP TLS listener is ready for incoming connections at %s",
	       pj_addr_str_print(&listener->factory.addr_name.host,
			         listener->factory.addr_name.port, addr,
				 sizeof(addr), 1)));
    } else {
	PJ_LOG(4, (listener->factory.obj_name, "SIP TLS is ready "
	       "(client only)"));
    }
}
static void update_transport_info(struct tls_listener *listener)
{
    enum { INFO_LEN = 100 };
    char local_addr[PJ_INET6_ADDRSTRLEN + 10];
    char pub_addr[PJ_INET6_ADDRSTRLEN + 10];
    int len;
    pj_sockaddr *listener_addr = &listener->factory.local_addr;

    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_addr_str_print(&listener->factory.addr_name.host, 
		      listener->factory.addr_name.port, pub_addr, 
		      sizeof(pub_addr), 1);
    len = pj_ansi_snprintf(
	    listener->factory.info, INFO_LEN, "tls %s [published as %s]",
	    local_addr, pub_addr);
    PJ_CHECK_TRUNC_STR(len, listener->factory.info, INFO_LEN);

    if (listener->ssock) {
	char addr[PJ_INET6_ADDRSTRLEN+10];

	PJ_LOG(4, (listener->factory.obj_name,
	       "SIP TLS listener is ready for incoming connections at %s",
	       pj_addr_str_print(&listener->factory.addr_name.host,
			         listener->factory.addr_name.port, addr,
				 sizeof(addr), 1)));
    } else {
	PJ_LOG(4, (listener->factory.obj_name, "SIP TLS is ready "
	       "(client only)"));
    }
}