Hi Charles,
I am just about to send an rfc email on this topic, as I thought of
several options here, dmq being one of them and now is getting higher in
the priority list as you committed to code it :-)
Cheers,
Daniel
On 22/08/14 16:12, Charles Chance wrote:
Hi Daniel,
This is very useful :)
It is also a good use case for dmq_bcast_message() in config.
Do you think it would be worthwhile adding dmq integration to dialog
module to enable the notifications to be sent and processed
automatically? I'm happy to do it if so.
Regards,
Charles
On 22 August 2014 14:59, Daniel-Constantin Mierla <miconda(a)gmail.com
<mailto:miconda@gmail.com>> wrote:
Module: sip-router
Branch: master
Commit: d5c6185f4369833113e21802baafe18288fb4254
URL:
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=d5c6185…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com
<mailto:miconda@gmail.com>>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com
<mailto:miconda@gmail.com>>
Date: Fri Aug 22 15:52:12 2014 +0200
dialog: documentation for dlg_remote_profile() config function
---
modules/dialog/README | 31 +++++++++++++++++++++
modules/dialog/doc/dialog_admin.xml | 51
+++++++++++++++++++++++++++++++++++
2 files changed, 82 insertions(+), 0 deletions(-)
diff --git a/modules/dialog/README b/modules/dialog/README
index aeafc0b..37b2bc4 100644
--- a/modules/dialog/README
+++ b/modules/dialog/README
@@ -110,6 +110,7 @@ Alex Balashov
6.14. dlg_set_timeout(timeout [, h_entry, h_id])
6.15. dlg_set_timeout_by_profile(profile, [value],
timeout)
6.16. dlg_set_property(attr)
+ 6.17. dlg_remote_profile(cmd, profile, value, uid,
expires)
7. Statistics
@@ -233,6 +234,7 @@ Alex Balashov
1.64. dlg_set_timeout usage
1.65. dlg_set_timeout_by_profile usage
1.66. dlg_set_property usage
+ 1.67. dlg_remote_profile usage
Chapter 1. Admin Guide
@@ -317,6 +319,7 @@ Chapter 1. Admin Guide
6.14. dlg_set_timeout(timeout [, h_entry, h_id])
6.15. dlg_set_timeout_by_profile(profile, [value], timeout)
6.16. dlg_set_property(attr)
+ 6.17. dlg_remote_profile(cmd, profile, value, uid, expires)
7. Statistics
@@ -1169,6 +1172,7 @@ modparam("dialog", "timer_procs", 1)
6.14. dlg_set_timeout(timeout [, h_entry, h_id])
6.15. dlg_set_timeout_by_profile(profile, [value], timeout)
6.16. dlg_set_property(attr)
+ 6.17. dlg_remote_profile(cmd, profile, value, uid, expires)
6.1. set_dlg_profile(profile,[value])
@@ -1511,6 +1515,33 @@ dlg_set_property("ka-dst");
dlg_set_property("timeout-noreset");
...
+6.17. dlg_remote_profile(cmd, profile, value, uid, expires)
+
+ Manage remote profile via config file. A remote profile item is
+ considered when the dialog is not managed by this server
instance. The
+ notification to add/remove can be received via SIP or a RPC
command,
+ the operation can be then triggered from configuration file. This
+ should allow counting active dialogs in a profile that are
managed by
+ multiple SIP server instances.
+
+ Meaning of the parameters is as follows:
+ * cmd - the operations to do: add - add an item in profile; rm -
+ remove an item from profile
+ * profile - name of profile
+ * value - value for profile (if no value is needed for that
profile,
+ use an empty string.
+ * expires - absolute time (unix timestamp) when this profile
item
+ should be removed automatically (time based), if still in the
+ profile
+
+ This function can be used from ANY_ROUTE.
+
+ Example 1.67. dlg_remote_profile usage
+...
+$var(exp) = 3600 + $Ts;
+dlg_remote_profile("add", "caller", "test",
"$sruid", "$var(exp)");
+...
+
7. Statistics
7.1. active_dialogs
diff --git a/modules/dialog/doc/dialog_admin.xml
b/modules/dialog/doc/dialog_admin.xml
index 1d5506f..3feb5f3 100644
--- a/modules/dialog/doc/dialog_admin.xml
+++ b/modules/dialog/doc/dialog_admin.xml
@@ -1886,6 +1886,57 @@ dlg_set_property("timeout-noreset");
</example>
</section>
+ <section id="dialog.f.dlg_remote_profile">
+ <title>
+ <function moreinfo="none">dlg_remote_profile(cmd,
profile, value, uid, expires)</function>
+ </title>
+ <para>
+ Manage remote profile via config file. A
remote profile item is considered when
+ the dialog is not managed by this server
instance. The notification to add/remove
+ can be received via SIP or a RPC command,
the operation can be then triggered
+ from configuration file. This should allow
counting active dialogs in a profile
+ that are managed by multiple SIP server
instances.
+ </para>
+ <para>Meaning of the parameters is as follows:</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis>cmd</emphasis> - the operations to do: add - add an
item in
+ profile; rm - remove an item from
profile
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>profile</emphasis> - name of profile
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>value</emphasis> - value for profile (if no value is
needed
+ for that profile, use an empty string.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>expires</emphasis> - absolute time (unix timestamp)
when this
+ profile item should be removed
automatically (time based),
+ if still in the profile
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ This function can be used from ANY_ROUTE.
+ </para>
+ <example>
+ <title><function>dlg_remote_profile</function>
usage</title>
+ <programlisting format="linespecific">
+...
+$var(exp) = 3600 + $Ts;
+dlg_remote_profile("add", "caller", "test",
"$sruid", "$var(exp)");
+...
+</programlisting>
+ </example>
+ </section>
</section>
_______________________________________________
sr-dev mailing list
sr-dev(a)lists.sip-router.org <mailto:sr-dev@lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
www.sipcentric.com <http://www.sipcentric.com/>
Follow us on twitter @sipcentric <http://twitter.com/sipcentric>
Sipcentric Ltd. Company registered in England & Wales no. 7365592.
Registered office: Faraday Wharf, Innovation Birmingham Campus, Holt
Street, Birmingham Science Park, Birmingham B7 4BB.
_______________________________________________
sr-dev mailing list
sr-dev(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev