<!-- Kamailio Pull Request Template -->
<!--
IMPORTANT:
- for detailed contributing guidelines, read:
https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
- pull requests must be done to master branch, unless they are backports
of fixes from master branch to a stable branch
- backports to stable branches must be done with 'git cherry-pick -x ...'
- code is contributed under BSD for core and main components (tm, sl, auth, tls)
- code is contributed GPLv2 or a compatible license for the other components
- GPL code is contributed with OpenSSL licensing exception
-->
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [x] Commit message has the format required by CONTRIBUTING guide
- [x] Commits are split per component (core, individual modules, libs, utils, ...)
- [x] Each component has a single commit (if not, squash them into one commit)
- [x] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [ ] Small bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the checkboxes that apply -->
- [ ] PR should be backported to stable branches
- [x] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
This PR exports some new functions for handling registration and deregistration in the uac table without waiting for timer to fire.
All of the following function require the parameters of the already available RPC function call `reg_unregister`:
- `kamcmd uac.reg_register`: Register for kamcmd similar to `uac.reg_unregister`
- `uac_reg_send_register`: Config function to register immediately without waiting for timer
- `uac_reg_send_unregister`: Config funtion to unregister immediately without waiting for timer
- Move required structures/functions to .h
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4056
-- Commit Summary --
* uac: Export two new functions for reg/unreg and rpc for reg
-- File Changes --
M src/modules/uac/uac.c (73)
M src/modules/uac/uac_reg.c (91)
M src/modules/uac/uac_reg.h (51)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4056.patchhttps://github.com/kamailio/kamailio/pull/4056.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4056
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4056(a)github.com>
Module: kamailio
Branch: master
Commit: bab82a2ba751a1138db48074692e953bbf7be9a8
URL: https://github.com/kamailio/kamailio/commit/bab82a2ba751a1138db48074692e953…
Author: Xenofon Karamanos <xk(a)gilawa.com>
Committer: Henning Westerholt <hw(a)gilawa.com>
Date: 2024-12-12T17:36:21+01:00
uac/docs: Update docs for uac_reg_send_register/unregister and rpc command
---
Modified: src/modules/uac/doc/uac_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/bab82a2ba751a1138db48074692e953…
Patch: https://github.com/kamailio/kamailio/commit/bab82a2ba751a1138db48074692e953…
---
diff --git a/src/modules/uac/doc/uac_admin.xml b/src/modules/uac/doc/uac_admin.xml
index a84c5fa6c66..80486d6dab5 100644
--- a/src/modules/uac/doc/uac_admin.xml
+++ b/src/modules/uac/doc/uac_admin.xml
@@ -1024,6 +1024,55 @@ uac_req_send();
</programlisting>
</example>
</section>
+
+ <section id="uac.f.uac_reg_send_register">
+ <title>
+ <function moreinfo="none">uac_reg_send_register(atttr,value)</function>
+ </title>
+ <para>
+ This function sends a REGISTER request for the registration
+ based on a filter specified by attribute and value. The attribute can be: l_uuid, l_username,
+ r_username or auth_username. The value is what should be matched
+ against the value of the attribute in the remote registration record.
+ </para>
+ <para>
+ This function can be used from REQUEST_ROUTE, FAILURE_ROUTE,
+ BRANCH_ROUTE, ONREPLY_ROUTE, LOCAL_ROUTE.
+ </para>
+ <example>
+ <title><function>uac_reg_send_register</function> usage</title>
+ <programlisting format="linespecific">
+...
+uac_reg_send_register("l_uuid", "account123");
+...
+ </programlisting>
+ </example>
+ </section>
+
+ <section id="uac.f.uac_reg_send_unregister">
+ <title>
+ <function moreinfo="none">uac_reg_send_unregister(atttr,value)</function>
+ </title>
+ <para>
+ This function sends a REGISTER request with expires 0 for the registration
+ based on a filter specified by attribute and value. The attribute can be: l_uuid, l_username,
+ r_username or auth_username. The value is what should be matched
+ against the value of the attribute in the remote registration record.
+ </para>
+ <para>
+ This function can be used from REQUEST_ROUTE, FAILURE_ROUTE,
+ BRANCH_ROUTE, ONREPLY_ROUTE, LOCAL_ROUTE.
+ </para>
+ <example>
+ <title><function>uac_reg_send_unregister</function> usage</title>
+ <programlisting format="linespecific">
+...
+uac_reg_send_unregister("l_uuid", "account123");
+...
+ </programlisting>
+ </example>
+ </section>
+
<section id="uac.f.uac_reg_lookup">
<title>
<function moreinfo="none">uac_reg_lookup(uuid, dst)</function>
@@ -1420,6 +1469,28 @@ event_route[uac:reply] {
</example>
</section>
+ <section id="uac.r.uac.reg_register">
+ <title>
+ <function moreinfo="none">uac.reg_register</function>
+ </title>
+ <para>
+ Send a REGISTER for the matching record based on a filter.
+ The command has two parameters: attribute and value.
+ The attribute can be: l_uuid, l_username, r_username or auth_username.
+ The value is what should be matched against the value of the attribute
+ in the remote registration record.
+ </para>
+ <example>
+ <title><function>uac.reg_register</function> usage</title>
+ <programlisting format="linespecific">
+...
+ kamcmd uac.reg_register l_uuid account123
+ kamcmd uac.reg_register l_uuid s:12345678
+...
+ </programlisting>
+ </example>
+ </section>
+
<section id="uac.r.uac.reg_unregister">
<title>
<function moreinfo="none">uac.reg_unregister</function>
@@ -1686,4 +1757,3 @@ event_route[uac:reply] {
</example>
</section>
</chapter>
-