Browse Source

modules: readme files regenerated - ims_registrar_pcscf ... [skip ci]

Kamailio Dev 2 năm trước cách đây
mục cha
commit
135f7b5e21
1 tập tin đã thay đổi với 27 bổ sung0 xóa
  1. 27 0
      src/modules/ims_registrar_pcscf/README

+ 27 - 0
src/modules/ims_registrar_pcscf/README

@@ -312,6 +312,33 @@ pcscf_save("location");
      * domain - Logical domain within the registrar. If a database is used
        then this must be name of the table which stores the contacts.
 
+   The return code may have the following values:
+     * ( 1) OK
+     * (-1) Parsing of contact data failed
+     * (-2) Deregistration in progress
+
+   For db_mode = DB_ONLY (3) setting for ims_usrloc_pcscf module modparam
+   following logic is implemented:
+     * To avoid race time conditions between a REREGISTER and the expiry
+       handler state machine in the scscf an approach is chosen to refuse
+       a REREGISTER in time window of 20 seconds after pcontact expiry on
+       the pcscf (thus allowing expiry handling to finish). REREGISTER is
+       refused in this scenario with return code -2.
+     * In case a REREGISTER arrives at pcscf and the respective pcontact
+       is expired longer than time window of 20 seconds registration also
+       is refused with return code -2 and additionaly PUBLISH is sent to
+       scscf with expiry = 0.
+     * The rc -2 shall be handled in register.cfg script as follows:
+       pcscf_save_pending("location");
+       switch ($retcode) {
+       case -1:
+       .......
+       case -2:
+       send_reply("500", "Deregister in progress - Please try again");
+       exit;
+       break;
+       }
+
 4.3. pcscf_follows_service_routes(domain)
 
    Returns true, if the request is following the "learned" service-routes