[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openser-users
Subject:    Re: [SR-Users] Notify with Websocket problem
From:       Daniel-Constantin Mierla <miconda () gmail ! com>
Date:       2014-01-31 10:32:16
Message-ID: 52EB7BB0.20407 () gmail ! com
[Download RAW message or body]

Hello,

perhaps the presence modules must be adjusted to detect the use of 
set_contact_alias() and use it properly. This is an issue when presence 
module is the first hop.

I have it in mind, but you can open an issue on the tracker.

Cheers,
Daniel

On 31/01/14 10:55, David Claybourne wrote:
> Hi Daniel,
> 
> that seems to fix the problem :D. Thank you very much.
> 
> 6(29076) DEBUG: presence [notify.c:927]: ps_build_dlg_t(): CONTACT = \
> sip:1000@93.220.237.128:64632;transport=ws 6(29076) DEBUG: <core> \
> [socket_info.c:583]: grep_sock_info(): grep_sock_info - checking if host==us: \
> 12==12 && [5.45.101.128] == [5.45.101.128] 6(29076) DEBUG: <core> \
> [socket_info.c:587]: grep_sock_info(): grep_sock_info - checking if port 8088 \
> (advertise 0) matches port 8088 6(29076) DEBUG: presence [notify.c:1575]: \
> send_notify_request(): expires 600 status 1 6(29076) DEBUG: presence \
> [notify.c:1728]: shm_dup_cbparam(): === 22/8/37 6(29076) DEBUG: tm [uac.c:243]: \
> t_uac_prepare(): DEBUG:tm:t_uac: \
> next_hop=<sip:1000@93.220.237.128:64632;transport=ws> 6(29076) DEBUG: tm \
> [uac.c:182]: dlg2hash(): DEBUG: dlg2hash: 5285 6(29076) DEBUG: websocket \
> [ws_frame.c:713]: ws_frame_transmit(): Tx message: NOTIFY \
>                 sip:1000@93.220.237.128:64632;transport=ws SIP/2.0
> Via: SIP/2.0/WS  5.45.101.128:8088;branch=z9hG4bK5a41.38587e65000000000000000000000000.0
>                 
> To: <sip:1000@claybourne.de>;tag=vj3bsbnevo
> From: <sip:1001@claybourne.de>;tag=6853f4be2e83d57dcdf85008ad4e4098-aa21
> CSeq: 2 NOTIFY
> Call-ID: jb3kmva261v4bht3sj9rpc@claybourne.de
> Content-Length: 0
> User-Agent: kamailio (4.1.1 (x86_64/linux))
> Max-Forwards: 70
> Event: presence
> Contact: <sip:5.45.101.128:8088;transport=ws>
> Subscription-State: active;expires=600
> 
> 
> 6(29076) DEBUG: websocket [ws_frame.c:146]: encode_and_send_ws_frame(): encoding \
> WebSocket frame 6(29076) DEBUG: websocket [ws_frame.c:177]: \
> encode_and_send_ws_frame(): supported non-control frame: 0x1 6(29076) DEBUG: <core> \
> [tcp_main.c:2320]: tcpconn_send_put(): tcp_send: send from reader (29076 (6)), \
> reusing fd 6(29076) DEBUG: <core> [tcp_main.c:2556]: tcpconn_do_send(): tcp_send: \
> sending... 6(29076) DEBUG: <core> [tcp_main.c:2590]: tcpconn_do_send(): tcp_send: \
> after real write: c= 0x7faebf0348b0 n=523 fd=6 6(29076) DEBUG: <core> \
> [tcp_main.c:2591]: tcpconn_do_send(): tcp_send: buf= ?~NOTIFY \
>                 sip:1000@93.220.237.128:64632;transport=ws SIP/2.0
> Via: SIP/2.0/WS  5.45.101.128:8088;branch=z9hG4bK5a41.38587e65000000000000000000000000.0
>                 
> To: <sip:1000@claybourne.de>;tag=vj3bsbnevo
> From: <sip:1001@claybourne.de>;tag=6853f4be2e83d57dcdf85008ad4e4098-aa21
> CSeq: 2 NOTIFY
> Call-ID: jb3kmva261v4bht3sj9rpc@claybourne.de
> Content-Length: 0
> User-Agent: kamailio (4.1.1 (x86_64/linux))
> Max-Forwards: 70
> Event: presence
> Contact: <sip:5.45.101.128:8088;transport=ws>
> Subscription-State: active;expires=600
> 
> 
> 6(29076) INFO: presence [notify.c:1602]: send_notify_request(): NOTIFY \
> sip:1000@claybourne.de via sip:1000@93.220.237.128:64632;transport=ws on behalf of \
> sip:1001@claybourne.de for event presence 
> Just added your suggestion in my config file.
> 
> # Presence server route
> route[PRESENCE] {
> xlog("SCRIPT: Mal sehen 7\n");
> 
> if(!is_method("PUBLISH|SUBSCRIBE"))
> return;
> 
> #!ifdef WITH_PRESENCE
> if (!t_newtran())
> {
> sl_reply_error();
> exit;
> };
> 
> if(is_method("PUBLISH"))
> {
> handle_publish();
> t_release();
> }
> else
> if( is_method("SUBSCRIBE"))
> {
> fix_nated_contact();
> handle_subscribe();
> t_release();
> }
> #!endif
> 
> # if presence enabled, this part will not be executed
> if (is_method("PUBLISH") || $rU==$null)
> {
> sl_send_reply("404", "Not here");
> exit;
> }
> return;
> }
> 
> Your Project rocks. Can you add this fix to the web socket example config for all \
> others :D? 
> Greetings
> David
> 
> 
> 
> Am 31.01.2014 um 06:19 schrieb Daniel-Constantin Mierla <miconda@gmail.com>:
> 
> > Hello,
> > 
> > can you try to use fix_nated_contact() for subscribe requests?
> > 
> > Cheers,
> > Daniel
> > 
> > On 28/01/14 23:17, David Claybourne wrote:
> > > Hi Kamailio-Community,
> > > 
> > > i have the following problem. Publish and subscribe works as suspected. But \
> > > after saving the presence state from a publish request and notifying the users \
> > > via NOTIFY, users with a websocket connection don't get the notify request at \
> > > all :(. 
> > > Here is the version of kamailio i use:
> > > 
> > > version: kamailio 4.1.1 (x86_64/linux)
> > > flags: STATS: Off, USE_TCP, USE_TLS, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, \
> > > USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, DBG_QM_MALLOC, \
> > > USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, \
> > > USE_DST_BLACKLIST, HAVE_RESOLV_RES ADAPTIVE_WAIT_LOOPS=1024, \
> > > MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535, \
> > > DEFAULT PKG_SIZE 4MB poll method support: poll, epoll_lt, epoll_et, sigio_rt, \
> > > select. 
> > > I created a log file and attached the notify event (the problem is that a \
> > > websocket dont have a real IP Address), is there any possibility to use the \
> > > nathelper module for fixing this problem? 
> > > I also attached the config file. Thanks for the help
> > > 
> > > Greetings
> > > David

-- 
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda


_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic