[SR-Users] How to enforce max_contacts at registration?

Benoit Panizzon benoit.panizzon at imp.ch
Thu Aug 18 10:04:15 CEST 2022


Hi Daniel

debug=3

Two CEP already registered. Registering a 3rd one (snom).

Some IP and Hostnames replaced by 'HIDDEN'.

Aug 18 07:52:55 dev-cpereg02 kamailio[1187007]: INFO: [1 315995001 zygwpey7 at snom 1899942452 REGISTER]<script>: REGISTRAR: Setting max_contacts to 2 for sip:315995001 at dev-cpereg02.HIDDEN
Aug 18 07:52:55 dev-cpereg02 kamailio[1187007]: DEBUG: [1 315995001 zygwpey7 at snom 1899942452 REGISTER]registrar [regpv.c:552]: pv_fetch_contacts_helper(): memory block between 0x7fd0c5bc7230 - 0x7fd0c5bc73a8
Aug 18 07:52:55 dev-cpereg02 kamailio[1187007]: DEBUG: [1 315995001 zygwpey7 at snom 1899942452 REGISTER]registrar [regpv.c:552]: pv_fetch_contacts_helper(): memory block between 0x7fd0c5bc7410 - 0x7fd0c5bc75ea
Aug 18 07:52:55 dev-cpereg02 kamailio[1187007]: DEBUG: [1 315995001 zygwpey7 at snom 1899942452 REGISTER]registrar [regpv.c:574]: pv_fetch_contacts_helper(): fetched <2> contacts for <315995001> in [caller]
Aug 18 07:52:55 dev-cpereg02 kamailio[1187007]: INFO: [1 315995001 zygwpey7 at snom 1899942452 REGISTER]<script>: REGISTRAR: Existing registration contacts count: 2
Aug 18 07:52:55 dev-cpereg02 kamailio[1187007]: INFO: [1 315995001 zygwpey7 at snom 1899942452 REGISTER]<script>: REGISTRAR: 0: Contact-Address: sip:315995001 at HIDDEN:5060 Agent: Cisco/SPA112-1.4.1_SR5 Expires: 1660811132
Aug 18 07:52:55 dev-cpereg02 kamailio[1187007]: INFO: [1 315995001 zygwpey7 at snom 1899942452 REGISTER]<script>: REGISTRAR: 1: Contact-Address: sip:315995001 at HIDDEN;transport=udp Agent: Linphone Desktop/ (Debian GNU/Linux 11 (bullseye), Qt 5.15.2) LinphoneCore/4.4.21 Expires: 1660810748
Aug 18 07:52:55 dev-cpereg02 kamailio[1187007]: INFO: [1 315995001 zygwpey7 at snom 1899942452 REGISTER]<script>: REGISTRAR: XAVP: <null> before setting
Aug 18 07:52:55 dev-cpereg02 kamailio[1187007]: INFO: [1 315995001 zygwpey7 at snom 1899942452 REGISTER]<script>: REGISTRAR: XAVP: 2 after setting
Aug 18 07:52:55 dev-cpereg02 kamailio[1187007]: DEBUG: [1 315995001 zygwpey7 at snom 1899942452 REGISTER]registrar [save.c:324]: pack_ci(): set instance[<urn:uuid:1844976b-42aa-4810-b846-13783b5a8c8f>]
Aug 18 07:52:55 dev-cpereg02 kamailio[1187007]: DEBUG: [1 315995001 zygwpey7 at snom 1899942452 REGISTER]<core> [core/utils/sruid.c:209]: sruid_nextx(): new sruid is [uloc-62fdee99-121cbf-1] (1 / 22)
Aug 18 07:52:55 dev-cpereg02 kamailio[1187007]: DEBUG: [1 315995001 zygwpey7 at snom 1899942452 REGISTER]registrar [save.c:420]: pack_ci(): generated ruid is: uloc-62fdee99-121cbf-1
Aug 18 07:52:55 dev-cpereg02 kamailio[1187007]: DEBUG: [1 315995001 zygwpey7 at snom 1899942452 REGISTER]registrar [save.c:607]: test_max_contacts(): 2 valid contacts
Aug 18 07:52:55 dev-cpereg02 kamailio[1187007]: DEBUG: [1 315995001 zygwpey7 at snom 1899942452 REGISTER]registrar [save.c:629]: test_max_contacts(): 3 contacts after commit

Produced by:

        $avp(max_contacts) is 2 for this $aU.

	$var(saveuri) = "sip:" + $aU + "@" + $rd;

        if ($avp(debug) > 0) {
                xlog("L_INFO", "$cfg(route): Setting max_contacts to $avp(max_contacts) for $var(saveuri)\n");
                if(reg_fetch_contacts("location", "$var(saveuri)", "caller")) {
                        xlog("L_INFO","$cfg(route): Existing registration contacts count: $(ulc(caller=>count))\n");
                        $var(i) = 0;
                        while($var(i) < $(ulc(caller=>count))) {
                                xlog("L_INFO","$cfg(route): $var(i): Contact-Address: $(ulc(caller=>addr)[$var(i)]) Agent: $(ulc(caller=>user_agent)[$var(i)]) Expires: $(ulc(caller=>expires)[$var(i)])\n");
                                $var(i) = $var(i) + 1;
                        }
                } else {
                        xlog("L_INFO","$cfg(route): No existing contacts for AOR $var(saveuri)\n");
                }
        }
        xlog("L_INFO","$cfg(route): XAVP: $xavp(reg=>max_contacts) before setting\n");
        $xavp(reg=>max_contacts) = $avp(max_contacts);
        xlog("L_INFO","$cfg(route): XAVP: $xavp(reg=>max_contacts) after setting\n");

	$var(result) = save("location","0x00","$var(saveuri)");

== snipp ==

# kamctl ul show 315995001 at dev-cpereg01.[HIDDEN] | grep Address
          "Address":  "sip:315995001@[HIDDEN].229:5060",
          "Address":  "sip:315995001@[HIDDEN]:9afa:9bff:fe4a:aa55];transport=udp",
          "Address":  "sip:315995001@[HIDDEN]:204:13ff:fe30:2a80]:3038;transport=udp;line=8usewy",

Mit freundlichen Grüssen

-Benoît Panizzon-
-- 
I m p r o W a r e   A G    -    Leiter Commerce Kunden
______________________________________________________

Zurlindenstrasse 29             Tel  +41 61 826 93 00
CH-4133 Pratteln                Fax  +41 61 826 93 01
Schweiz                         Web  http://www.imp.ch
______________________________________________________



More information about the sr-users mailing list