I think the problem lies within the dialog module. Dialog module stores
from/to URI. Both, from and to URI are derived from the headers. We
could extend the dialog module to store request-URI in the dialog-info
structure too, and add an option to pua_dialoginfo to use RURI instead
of To-URI.
regards
klaus
David schrieb:
Hey,
I think I am doing something wrong, because here is the NOTIFY that
comes to the phone :
NOTIFY sip:group1.101@my.home.ip:57234 SIP/2.0
Via: SIP/2.0/UDP my.kamailio.ip;branch=z9hG4bK3cab.78e494a4.0
To: sip:group1.101@my.kamailio.domain.name;tag=b2514519391e8b4d
From:
sip:102@my.kamailio.domain.name;tag=6d6077e15fecee48b2721a5e94bf8883-f712
CSeq: 12 NOTIFY^M Call-ID: 24db3209-611c031d(a)192.168.1.104
Content-Length: 298
User-Agent: MyServer 1.0
Max-Forwards: 70
Event: dialog
Contact: <sip:my.kamailio.domain.name:5060>
Subscription-State: active;expires=1570
Content-Type: application/dialog-info+xml
<?xml version="1.0"?> <dialog-info
xmlns="urn:ietf:params:xml:ns:dialog-info" version="11"
state="full" entity="group1.102(a)my.kamailio.domain.name">
<dialog
id="7aaa32e84362a246716009175ad670be(a)domain.tld"
direction="recipient"> <state>early</state>
</dialog> </dialog-info>
The phone ( I tested with a GXP2000, GXP2020 and SPA962 + SPA932) does
not flash lights or anything. Since you suggested that a solid kamailio
would work out of the box, I suspect that either I miscommunicated my
setup or did something really wrong. The notify definitely gets to the
phone and the phone replies 200/OK when it receives the NOTIFY. But I
think that the telephone is not understanding the request because it
subscribed to '102' but received a notification for 'group1.102'. The
funny thing is, the From header matches the subscribe To header, it's
just the XML has the full name instead of the shortened name.
To:
<sip:102@my.kamailio.domain.name>;tag=6d6077e15fecee48b2721a5e94bf8883-f712
I see this in my ( on kamailio ) /var/log/messages :
Aug 13 09:55:24 kamailio-dev /usr/sbin/kamailio[25449]:
INFO:presence:send_notify_request: NOTIFY
sip:group1.101@my.kamailio.domain.name via
sip:development1.101@my.home.ip.where.phone.is:57234 on behalf of
sip:102@my.kamailio.domain.name for event dialog
I should also mention that the NOTIFY sent out by presence bypasses my
routing scripts. So I have the PUBLISH come through ( which I leave
alone ) and the NOTIFY is sent according to the location table without
ever consulting my routing script.
So everything amazingly worked out well, except that the lights are not
changing status which I think is related to the XML document dialog-info
entity attribute containing the group name, sent from my server.
Any ideas or suggestions ?
Thanks,
David
Other information :
if ( is_method("SUBSCRIBE") )
{
avp_db_query("select groupname from sometable ",
"$avp(s:groupname)");
avp_printf("$ru",
"sip:$avp(s:zone).$tU@my.kamailio.domain.name");
xlog("L_INFO", "Subscribe rewritten from $tU to $ru -
M=$rm \n");
xlog("L_INFO", "Handling SUBSCRIBE - $fU - $avp(s:zone) -
M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
handle_subscribe();
t_release();
exit;
}
Kamailio compiled from sources :
Path: /usr/src/kamailio
URL:
https://openser.svn.sourceforge.net/svnroot/openser/branches/1.5
Repository Root:
https://openser.svn.sourceforge.net/svnroot/openser
Repository UUID: 689a6050-402a-0410-94f2-e92a70836424
Revision: 5910
Node Kind: directory
Schedule: normal
Last Changed Author: henningw
Last Changed Rev: 5910
Last Changed Date: 2009-08-06 13:08:30 -0400 (Thu, 06 Aug 2009)
Klaus Darilion wrote:
notifies are generated by the presence module,
based on the
subscription. So, there is nothing you have to do with NOTIFY. Also
PUBLISHs are created internally. Depending on your concrete setup
(e.g. format of the SIP user names) it should work out of the box.
klaus
dlublink schrieb:
> What about the notifies?
>
> Klaus Darilion wrote:
>> dlublink wrote:
>>> Hello,
>>>
>>> I have three different groups of extensions on my kamailio I want
>>> to be able to separate them, so I prefixed a name to the
>>> extensions, so I have :
>>>
>>> 1. group1.101
>>> 2. group1.102
>>> 3. group2.101
>>> 4. group2.102
>>> 5. group3.102
>>> 6. group3.103.
>>>
>>> The phones from different groups can not call each other, I found a
>>> pseudo variable that I use to rewrite the destination url, so if
>>> user group1.101 dials 102 I rewrite it to group1.102.
>>>
>>> I want to do the same thing for presence_dialog info, how can I
>>> rewrite the subscribe, presence and and notify messages to append
>>> the appropriate prefix ?
>>
>> Just apply the same rewrite you have already done for the INVITE
>> also for the SUBSCRIBE
>>
>> regards
>> klaus
>>
>>>
>>> Thanks,
>>>
>>> David
>>>
>>> _______________________________________________
>>> Kamailio (OpenSER) - Users mailing list
>>> Users(a)lists.kamailio.org
>>>
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
>>>
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
>