[sr-dev] git:master: dialog: documentation for dlg_remote_profile() config function

Charles Chance charles.chance at sipcentric.com
Fri Aug 22 16:12:19 CEST 2014


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 at 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=d5c6185f4369833113e21802baafe18288fb4254
>
> Author: Daniel-Constantin Mierla <miconda at gmail.com>
> Committer: Daniel-Constantin Mierla <miconda at 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 at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>

-- 
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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20140822/ce4f5712/attachment.html>


More information about the sr-dev mailing list