The configuration values for the “client_sip_domain_avp” and 
“client_tls_domain_avp” modparams are supposed to be the names of AVP 
variables, not domain names. They also represent 2 different ways to specify 
the desired client. The “match_ip_address” modparam is a third way to specify 
the client, or can be used in conjunction with SIP domain for additional 
flexibility.

First, if you only have one client as in your config example then both IP and 
domain matching are unnecessary. You can simply specify the client to match 
everything and all outbound TLS will use that client:

src/main/config/forward/module.cfg:45:modparam("tls_mgm", "match_ip_address", 
"[ client]*")
src/main/config/forward/module.cfg:46:modparam("tls_mgm", "match_sip_domain", 
"[ client]*")

If you do have multiple clients or you just want to directly specify the client 
anyway, then you can choose one of the methods to do so.

A. SIP Domain/IP Matching (see [1], [2], [3], [4])

1. Specify the SIP domain and/or IP which matches the client uses the 
respective modparams:

modparam("tls_mgm", "match_ip_address", "[client]x.x.x.x:5061")
modparam("tls_mgm", "match_sip_domain", "[client]sbc.mydomain.com")

2. Specify the name of the AVP which your config script will populate with the 
SIP domain value to be used for matching against the client. This is only 
required if you want SIP Domain matching; it’s not required for IP matching.

modparam("tls_mgm", "client_sip_domain_avp", "tls_client_sip")

3. In your config script, set the named AVP to the appropriate domain for the 
message currently being processed. This could be the Request-URI domain ($rd), 
Destination URI domain ($dd), or anything else you like.

$avp(tls_client_sip) := “sbc.mydomain.com”; // or $rd or $dd or whatever

B. TLS Client Name Matching (see [5])

1. Specify the TLS client domain name via the modparam:

modparam("tls_mgm", "client_domain", "client")

2. Specify the name of the AVP which your config script will populate with the 
TLS client name to be used:

modparam("tls_mgm", "client_tls_domain_avp",  “tls_client_name")

3. In your config script, set the named AVP to the name of the TLS client you 
wish to use for the message currently being processed.

$avp(tls_client_name) := “client”;

[1] - 
https://opensips.org/html/docs/modules/3.6.x/tls_mgm.html#param_match_sip_domain
[2] - 
https://opensips.org/html/docs/modules/3.6.x/tls_mgm.html#param_match_ip_address
[3] - 
https://opensips.org/html/docs/modules/3.6.x/tls_mgm.html#param_client_sip_domain_avp
[4] - https://opensips.org/html/docs/modules/3.6.x/tls_mgm.html#domains-param
[5] - 
https://opensips.org/html/docs/modules/3.6.x/tls_mgm.html#param_client_tls_domain_avp


Ben Newlin

From: Users <[email protected]> on behalf of Thiago Lopes via 
Users <[email protected]>
Date: Tuesday, March 11, 2025 at 12:49 PM
To: Bogdan-Andrei Iancu <[email protected]>
Cc: OpenSIPS users mailling list <[email protected]>
Subject: Re: [OpenSIPS-Users] MS Teams and SBC integration
 EXTERNAL EMAIL - Please use caution with links and attachments

________________________________
Hi Bogdan-Andrei,

I already did this too. The result in the log file was the same.

Actually, even with changing the tls_mgm module, or from openssl to wolfssl, I 
saw that the module who answer with error is proto_tls:

 /usr/sbin/opensips[4634]: DBG:core:init_sock_keepalive: TCP keepalive enabled 
on socket 5
 /usr/sbin/opensips[4634]: DBG:core:print_ip: tcpconn_new: new tcp connection 
to: 52.114.76.76
 /usr/sbin/opensips[4634]: DBG:core:tcpconn_new: on port 5061, proto 3
 /usr/sbin/opensips[4634]: ERROR:proto_tls:proto_tls_conn_init: no TLS client 
domain found
 /usr/sbin/opensips[4634]: ERROR:core:tcp_conn_create: failed to do proto 3 
specific init for conn 0x7f794a63d080
 /usr/sbin/opensips[4634]: DBG:core:tcpconn_destroy: delaying (0x7f794a63d080, 
flags 0018) ref = -1 ...

My actual cfg file:

#loadmodule "tls_openssl.so"
loadmodule "tls_wolfssl.so"

####TLS module
loadmodule "tls_mgm.so"
 /*#first the  server domain */
modparam("tls_mgm", "server_domain", "default")
modparam("tls_mgm", "certificate", 
"[default]/etc/letsencrypt/live/sbc.mydomain.com/fullchain.pem<http://sbc.mydomain.com/fullchain.pem>")
modparam("tls_mgm", "private_key", 
"[default]/etc/letsencrypt/live/sbc.mydomain.com/privkey.pem<http://sbc.mydomain.com/privkey.pem>")
modparam("tls_mgm", "ca_list", 
"[default]/etc/letsencrypt/live/sbc.mydomain.com/inter.pem<http://sbc.mydomain.com/inter.pem>")
modparam("tls_mgm", "match_ip_address", "[default]x.x.x.x:5061")
modparam("tls_mgm", "match_sip_domain", 
"[default]sbc.mydomain.com<http://sbc.mydomain.com>")
#modparam("tls_mgm", "verify_cert", "[default]0")
#modparam("tls_mgm", "require_cert", "[default]1")
#modparam("tls_mgm", "ciphers_list", "[default]AES128-SHA256:AES256-SHA")
modparam("tls_mgm", "tls_method", "[default]SSLv23")


 # #and the client domain
modparam("tls_mgm", "client_domain", "client")
modparam("tls_mgm", "certificate", 
"[client]/etc/letsencrypt/live/sbc.mydomain.com/fullchain.pem<http://sbc.mydomain.com/fullchain.pem>")
modparam("tls_mgm", "private_key", 
"[client]/etc/letsencrypt/live/sbc.mydomain.com/privkey.pem<http://sbc.mydomain.com/privkey.pem>")
modparam("tls_mgm", "ca_list", 
"[client]/etc/letsencrypt/live/sbc.mydomain.com/inter.pem<http://sbc.mydomain.com/inter.pem>")
#modparam("tls_mgm", "ca_dir", 
"[client]/etc/letsencrypt/live/sbc.mydomain.com/<http://sbc.mydomain.com/>")
modparam("tls_mgm", "match_sip_domain", 
"[client]sbc.mydomain.com<http://sbc.mydomain.com>")
modparam("tls_mgm", "match_ip_address", "[client]x.x.x.x:5061")

#modparam("tls_mgm", "verify_cert", "[client]0")
 # modparam("tls_mgm", "require_cert", "[client]1")
 # modparam("tls_mgm", "ciphers_list", "[client]AES128-SHA256:AES256-SHA")
modparam("tls_mgm", "tls_method", "[client]SSLv23")



modparam("tls_mgm", "tls_library", "wolfssl")
#modparam("tls_mgm", "tls_handshake_timeout", 300)
modparam("tls_mgm", "client_sip_domain_avp", 
"sbc.mydomain.com<http://sbc.mydomain.com>")
modparam("tls_mgm", "client_tls_domain_avp", 
"sbc.mydomain.com<http://sbc.mydomain.com>")

loadmodule "proto_tls.so"
#modparam("proto_tls", "tls_async", 0)
modparam("proto_tls", "tls_handshake_timeout", 300)
modparam("proto_tls", "tls_send_timeout", 2000)
modparam("proto_tls", "tls_max_msg_chunks", 8)
modparam("proto_tls", "cert_check_on_conn_reusage", 1)


Enable or no the client_sip_domain_avp, client_tls_domain_avp, match_sip_domain 
and match_ip_address in any order do not show any different results;

I thought maybe make a rollback, from 3.4.11 to another version where someone 
did this connection with Teams successfully .

In past versions here in this list I read that some fellows passed to the same 
error. But there was an error in the cfg file. I did several alterations in 
this file, modules and certificates. The only change that I didn't make was 
changing the version.
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to