2011/3/28 Schumann Sebastian <Sebastian.Schumann(a)st.sk>:
>> You are right, sorry. Anyhow, how you ever seen a XMPP server
>> integrating some kind of interoperability/gateway with SIP? In
>> Kamailio/*SER we have some attemps to interoperate with XMPP world.
>
> Openfire has SIP SIMPLE support.
What components of SIP SIMPLE does it support? MESSAGE?
PUBLISH/SUBSCRIBE/NOTIFY for event "presence"? XCAP? does it work?
--
Iñaki Baz Castillo
<ibc(a)aliax.net>
Module: sip-router
Branch: carstenbock/ims
Commit: 5569b0237f18169fc4d18dac9f1599df5e1d0735
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=5569b02…
Author: Carsten Bock <carsten(a)bock.info>
Committer: Carsten Bock <carsten(a)bock.info>
Date: Mon Mar 28 21:56:10 2011 +0200
- added some Usage-examples
- improved the usage notes for reginfo_handle_notify() (updated the docs to what the function should be like ;-) )
- updated the example for reginfo_handle_notify()
---
modules_k/pua_reginfo/doc/pua_reginfo_admin.xml | 44 +++++++++++++++++++++-
1 files changed, 42 insertions(+), 2 deletions(-)
diff --git a/modules_k/pua_reginfo/doc/pua_reginfo_admin.xml b/modules_k/pua_reginfo/doc/pua_reginfo_admin.xml
index cf54d6b..6ecc39a 100644
--- a/modules_k/pua_reginfo/doc/pua_reginfo_admin.xml
+++ b/modules_k/pua_reginfo/doc/pua_reginfo_admin.xml
@@ -35,6 +35,24 @@
And finally, it can process received "NOTIFY" requests and it will
update the local registry accordingly.
</para>
+ <para>
+ Use cases for this might be:
+ <itemizedlist>
+ <listitem>Keeping different Servers in Sync regarding
+ the location database
+ </listitem>
+ <listitem>Get notified, when a user registers: A presence-server,
+ which handles offline message storage for an account, would get
+ notified, when the user comes online.
+ </listitem>
+ <listitem>A client could subscribe to it's own registration-status,
+ so he would get notified as soon as his account gets administratively
+ unregistered.
+ </listitem>
+ <listitem>...</listitem>
+ </itemizedlist>
+ </para>
+
</section>
<section>
@@ -145,7 +163,7 @@ modparam("pua_reginfo", "outbound_proxy", "sip:proxy@kamailio.org")
<title>Set <varname>server_address</varname> parameter</title>
<programlisting format="linespecific">
...
-modparam("pua_reginfo", "server_address", "sip:bla@160.34.23.12")
+modparam("pua_reginfo", "server_address", "sip:reginfo@160.34.23.12")
...
</programlisting>
</example>
@@ -161,12 +179,34 @@ modparam("pua_reginfo", "server_address", "sip:bla@160.34.23.12")
This function processes received "NOTIFY"-requests and updates
the local registry accordingly.
</para>
+ <para>
+ This method does not create any SIP-Reponse, this has to be done
+ the script-writer.
+ </para>
+ <para>Return codes:</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis>2</emphasis> - contacts successfully updated,
+ but no more contacts online now.
+ </para>
+ <para>
+ <emphasis>1</emphasis> - contacts successfully updated and at
+ at least one contact still registered.
+ </para>
+ <para>
+ <emphasis>-1</emphasis> - Invalid NOTIFY or other error (see log-file)
+ </para>
+ </listitem>
+ </itemizedlist>
+
<example>
<title><function>reginfo_handle_notify</function> usage</title>
<programlisting format="linespecific">
...
if(is_method("NOTIFY"))
- reginfo_handle_notify();
+ if (reginfo_handle_notify())
+ send_reply("202", "Accepted");
...
</programlisting>
</example>
Hi Folks,
I have a problem with a registrar module (at least I suppose so). When A
calls to B, in some specific situation, B receives two INVITEs. This mostly
(not only) happens when one account is registered on two or more UAs. In
this situation the extra INVITE is sent only to the one that is second in
the list (kamctl ul show ACCOUNT).
kamctl ul show Alice:
Contact:: <sip:orlvuzyd@192.168.28.72:52129
>;q=0;expires=1916;flags=0x0;cflags=0x40;socket=<udp:8.8.8.8:5060
>;methods=0xFFFFFFFF;received=<sip:8.8.8.8:52129>;user_agent=<Blink 0.2.5
(Linux)>
Contact:: <sip:Alice@192.168.28.51:5060
>;q=;expires=3061;flags=0x0;cflags=0x40;socket=<udp:8.8.8.8:5060
>;methods=0x129F;received=<sip:8.8.8.8:5060
>;user_agent=<Linksys/PAP2T-3.1.15(LS)>
My situation.
1. Alice calls to BOB.
2. kamailio looks up in location table for BOBs registrations
3. in DB there are two rows (two devices(linksys PAP2T and Blink(blink is
the second one)))
4. kamailio send 3 INVITES ( linksys, blink and blink). Every INVITE has
different via.branch
(Via: SIP/2.0/UDP 8.8.8.8;branch=z9hG4bKe2d7.009b1df2.1)
(Via: SIP/2.0/UDP 8.8.8.8;branch=z9hG4bKe2d7.009b1df2.2)
(Via: SIP/2.0/UDP 8.8.8.8;branch=z9hG4bKe2d7.009b1df2.3)
All my registrar parameters are set to default.
Nothing is looping on interfaces.
I have no idea whether this is a bug or my missconfiguration.
Thanks for replies.
Kind regards,
Efelin Novak
Hello,
I am again the coordinator for Kamailio's project at GSoC 2011, last
year we had very good results with other developers joining the
mentoring team. It was the case of Marius Zbihlei that really helped a
lot, now being another opportunity to thank him again.
If you want to help guiding the implementation of SIP-to-Jingle gateway,
please come on board! This means you have to discuss with the selected
student and guide him through one of following topics: Kamailio sources,
SIP or Jingle. For the Jingle part, which is probably a bit unknown for
our community, we can ask the guys at Jitsi project - we are part of the
same organization at GSoC 2011.
Relevant links to our GSoC participations:
http://www.kamailio.org/w/gsoc-2011/http://www.kamailio.org/w/gsoc-2010/
Thanks,
Daniel
--
Daniel-Constantin Mierla
http://www.asipto.com
Module: sip-router
Branch: 3.1
Commit: 48fad52963344561e8bb85fa882811dfefc65dfe
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=48fad52…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Sat Mar 26 14:24:27 2011 +0100
rls: be sure From and To URIs are parsed
- if RLS SUBSCRIBE is handled before any other module needed From or To
URIs, then the structures were not filled, resulting in using empty
username and domain to locate the RLS document
- reported by Peter Dunkley
(cherry picked from commit 99077e7f90b1bf44ab336f16591399db57bc6978)
---
modules_k/rls/subscribe.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/modules_k/rls/subscribe.c b/modules_k/rls/subscribe.c
index 6fa46c1..a827623 100644
--- a/modules_k/rls/subscribe.c
+++ b/modules_k/rls/subscribe.c
@@ -36,6 +36,7 @@
#include "../../lib/kcore/cmpapi.h"
#include "../../lib/kcore/hash_func.h"
#include "../../lib/kcore/parse_supported.h"
+#include "../../lib/kcore/parser_helpers.h"
#include "../../parser/msg_parser.h"
#include "../../parser/parse_event.h"
#include "../../parser/parse_expires.h"
@@ -432,7 +433,7 @@ int rls_handle_subscribe(struct sip_msg* msg, char* s1, char* s2)
return 0;
}
/* check for To and From headesr */
- if(parse_to_header(msg)<0 || parse_from_header(msg)<0)
+ if(parse_to_uri(msg)<0 || parse_from_uri(msg)<0)
{
LM_ERR("failed to find To or From headers\n");
if (slb.freply(msg, 400, &pu_400_rpl) < 0)
Module: sip-router
Branch: 3.1
Commit: 1b8ad0f91e3f11add4fbfca3861ec1e7d9a88eb9
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=1b8ad0f…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Thu Mar 24 23:06:17 2011 +0100
tm: enforce AVP_TRACK_TO only for ser-style timer AVPs
- ser used the list of AVPs from track To for geting timer values
- kamailio is using mainly track From for AVPs
- for compatibility reasons, if avp name is given in ser style, enforce
AVPs track To, otherwise use default track (From) if none is specified
- reported by Min Wang
(cherry picked from commit 26f757d0c30db79c92011313e72c6c1d97e64cd0)
---
modules/tm/t_funcs.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/modules/tm/t_funcs.c b/modules/tm/t_funcs.c
index 13e3952..1b43cc1 100644
--- a/modules/tm/t_funcs.c
+++ b/modules/tm/t_funcs.c
@@ -431,6 +431,8 @@ int init_avp_params(char *fr_timer_param, char *fr_inv_timer_param,
"AVP specs \"%s\"\n", fr_timer_param);
return -1;
}
+ /* ser flavour uses the To track of AVPs */
+ fr_timer_avp_type |= AVP_TRACK_TO;
}
}
@@ -462,6 +464,8 @@ int init_avp_params(char *fr_timer_param, char *fr_inv_timer_param,
"AVP specs \"%s\"\n", fr_inv_timer_param);
return -1;
}
+ /* ser flavour uses the To track of AVPs */
+ fr_inv_timer_avp_type |= AVP_TRACK_TO;
}
}
@@ -507,7 +511,7 @@ static inline int avp2timer(unsigned int* timer, int type, int_str name)
int_str val_istr;
int err;
- avp = search_first_avp( type | AVP_TRACK_TO, name, &val_istr, 0);
+ avp = search_first_avp(type, name, &val_istr, 0);
if (!avp) {
/*
DBG("avp2timer: AVP '%.*s' not found\n", param.s->len, ZSW(param.s->s));
Module: sip-router
Branch: master
Commit: 99077e7f90b1bf44ab336f16591399db57bc6978
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=99077e7…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Sat Mar 26 14:24:27 2011 +0100
rls: be sure From and To URIs are parsed
- if RLS SUBSCRIBE is handled before any other module needed From or To
URIs, then the structures were not filled, resulting in using empty
username and domain to locate the RLS document
- reported by Peter Dunkley
---
modules_k/rls/subscribe.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/modules_k/rls/subscribe.c b/modules_k/rls/subscribe.c
index 6fa46c1..a827623 100644
--- a/modules_k/rls/subscribe.c
+++ b/modules_k/rls/subscribe.c
@@ -36,6 +36,7 @@
#include "../../lib/kcore/cmpapi.h"
#include "../../lib/kcore/hash_func.h"
#include "../../lib/kcore/parse_supported.h"
+#include "../../lib/kcore/parser_helpers.h"
#include "../../parser/msg_parser.h"
#include "../../parser/parse_event.h"
#include "../../parser/parse_expires.h"
@@ -432,7 +433,7 @@ int rls_handle_subscribe(struct sip_msg* msg, char* s1, char* s2)
return 0;
}
/* check for To and From headesr */
- if(parse_to_header(msg)<0 || parse_from_header(msg)<0)
+ if(parse_to_uri(msg)<0 || parse_from_uri(msg)<0)
{
LM_ERR("failed to find To or From headers\n");
if (slb.freply(msg, 400, &pu_400_rpl) < 0)