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 <[email protected] <mailto:[email protected]>> 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 <[email protected]
    <mailto:[email protected]>>
    Committer: Daniel-Constantin Mierla <[email protected]
    <mailto:[email protected]>>
    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
    [email protected] <mailto:[email protected]>
    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
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Next Kamailio Advanced Trainings 2014 - http://www.asipto.com
Sep 22-25, Berlin, Germany ::: Oct 15-17, San Francisco, USA

_______________________________________________
sr-dev mailing list
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to