[OpenSIPS-Users] registrar and mid_registrar modules

Alberto alberto.rinaudo at gmail.com
Thu Feb 10 19:04:47 UTC 2022


Hi,

I followed pretty much the available tutorials for mid_registrar, but I
can't figure out something:

I have:

loadmodule "registrar.so"
modparam("registrar", "attr_avp", "$avp(avp_json)")
modparam("registrar", "max_contacts", 1)
modparam("registrar", "tcp_persistent_flag", "TCP_PERSIST_DURATION")

loadmodule "mid_registrar.so"
modparam("mid_registrar", "attr_avp", "$avp(avp_json)")
modparam("mid_registrar", "max_contacts", 1)
modparam("mid_registrar", "mode", 0)
modparam("mid_registrar", "tcp_persistent_flag",
"TCP_PERSIST_REGISTRATIONS")

and then:

  if (is_method("REGISTER")) {
    $json(x) := "{}";

    python_exec("fn_lookup_account", "$rd|$socket_in(proto)");

    $avp(avp_json) = $json_compact(x);
    mid_registrar_save("location");
    switch ($retcode) {
      case 1:
        $du = $json(x/remote_dest);
        $ru = $json(x/remote_uri);
        route(relay);
        break;
      case 2:
        xlog("L_INFO", "Absorb REGISTER!\n");
        break;
      default:
        xlog("L_INFO", "Failed to save registration!\n");
        break;
    }

    exit;
  }


I do this because I want to store some configuration in the attr column
that I don't want to retrieve every call.

However, the mid_registrar example then continues with
mid_registrar_lookup, and that works fine for calls originating from the
main registrar going to the uac.
But when the uac starts a call, how do I validate the uac was previously
registered?

I tried with this below, but lookup doesn't work in this scenario.

if (mid_registrar_lookup("location")) {
  $json(x) := $avp(avp_json);
  xlog("L_INFO", "$C(cs)$cfg_file:$cfg_line$C(xx) [$rm] Found
mid_registrar_lookup from $si:$sp to $ru\n");
} else if (lookup("location")) {
  $json(x) := $avp(avp_json);
  xlog("L_INFO", "$C(cs)$cfg_file:$cfg_line$C(xx) [$rm] Found lookup from
$si:$sp to $ru\n");
} else {
  t_reply(404, "Not Found");
  exit;
}


Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20220210/4b24083a/attachment.html>


More information about the Users mailing list