static pj_uint32_t ssl_get_proto(pjsip_ssl_method ssl_method, pj_uint32_t proto)
{
    pj_uint32_t out_proto;

    if (proto)
	return proto;

    if (ssl_method == PJSIP_SSL_UNSPECIFIED_METHOD)
	ssl_method = PJSIP_SSL_DEFAULT_METHOD;

    switch(ssl_method) {
    case PJSIP_SSLV2_METHOD:
	out_proto = PJ_SSL_SOCK_PROTO_SSL2;
	break;
    case PJSIP_SSLV3_METHOD:
	out_proto = PJ_SSL_SOCK_PROTO_SSL3;
	break;
    case PJSIP_TLSV1_METHOD:
	out_proto = PJ_SSL_SOCK_PROTO_TLS1;
	break;
    case PJSIP_TLSV1_1_METHOD:
	out_proto = PJ_SSL_SOCK_PROTO_TLS1_1;
	break;
    case PJSIP_TLSV1_2_METHOD:
	out_proto = PJ_SSL_SOCK_PROTO_TLS1_2;
	break;
    case PJSIP_TLSV1_3_METHOD:
	out_proto = PJ_SSL_SOCK_PROTO_TLS1_3;
	break;
    case PJSIP_SSLV23_METHOD:
	out_proto = PJ_SSL_SOCK_PROTO_SSL23;
	break;
    default:
	out_proto = PJ_SSL_SOCK_PROTO_DEFAULT;
	break;
    }   
    return out_proto;
}
static pj_uint32_t ssl_get_proto(pjsip_ssl_method ssl_method, pj_uint32_t proto)
{
    pj_uint32_t out_proto;

    if (proto)
	return proto;

    if (ssl_method == PJSIP_SSL_UNSPECIFIED_METHOD)
	ssl_method = PJSIP_SSL_DEFAULT_METHOD;

    switch(ssl_method) {
    case PJSIP_SSLV2_METHOD:
	out_proto = PJ_SSL_SOCK_PROTO_SSL2;
	break;
    case PJSIP_SSLV3_METHOD:
	out_proto = PJ_SSL_SOCK_PROTO_SSL3;
	break;
    case PJSIP_TLSV1_METHOD:
	out_proto = PJ_SSL_SOCK_PROTO_TLS1;
	break;
    case PJSIP_TLSV1_1_METHOD:
	out_proto = PJ_SSL_SOCK_PROTO_TLS1_1;
	break;
    case PJSIP_TLSV1_2_METHOD:
	out_proto = PJ_SSL_SOCK_PROTO_TLS1_2;
	break;
    case PJSIP_TLSV1_3_METHOD:
	out_proto = PJ_SSL_SOCK_PROTO_TLS1_3;
	break;
    case PJSIP_SSLV23_METHOD:
	out_proto = PJ_SSL_SOCK_PROTO_SSL23;
	break;
    default:
	out_proto = PJ_SSL_SOCK_PROTO_DEFAULT;
	break;
    }   
    return out_proto;
}