Hi All

Got a presence problem with what should be a very simple config.

Would much appreciate someone having a look at the following and seeing if I’ve missed something obvious :-)

Thanks
Mark



I’ve gone right back to basics and using the example at http://kb.asipto.com/kamailio:presence:k43-blf

Changes to that example are;
- Kamailio 5.1.2
- RTPEngine
- NAT Enabled
- JSON RPC replacing mi_rpc
- HA1 Passwords


Setup is; 

Three phone 20,21,22 all on site behind a NAT (10.1.3.x local IP) at 1.2.3.4 External IP.

Phone 21 has BLF Subscriptions on 20 and 22

Domain is set as “mykamailio.com

Kamailio is an Ubuntu server “In the cloud” on 5.6.7.8

(Assuming I have got my domain & ip rewrites correct on the cut’n’paste)



What’s Happening;

All three phones register

21 Issues SUBSCRIBE:Dialog for 20 and 22.  Which get 202 Accepted back after a 407 Proxy Auth

SUBSCRIBE sip:22@mykamailio.com:5060 SIP/2.0
Via: SIP/2.0/UDP 10.1.3.84:5065;rport;branch=z9hG4bK3894730624
From: "21@SBC-2" <sip:21@mykamailio.com>;tag=1678729960
To: <sip:22@mykamailio.com>
Call-ID: 1544456221@10.1.3.84
CSeq: 1 SUBSCRIBE
Contact: <sip:21@10.1.3.84:5065>
Accept: application/dialog-info+xml
Max-Forwards: 70
User-Agent: Yealink SIP-T26P 6.73.0.50
Expires: 1800
Event: dialog
Content-Length: 0

I can see these arrive in active_watchers table;

*************************** 2. row ***************************
              id: 2
  presentity_uri: sip:20@mykamailio.com
watcher_username: 21
  watcher_domain: mykamailio.com
         to_user: 20
       to_domain: mykamailio.com
           event: dialog
        event_id:
          to_tag: a6c744f901d779619c580c9ef48ab5e9-2651
        from_tag: 1809677495
          callid: 2674059037@10.1.3.84
      local_cseq: 0
     remote_cseq: 2
         contact: sip:21@10.1.3.84:5065;alias=1.2.3.4~5065~1
    record_route:
         expires: 1520711354
          status: 1
          reason:
         version: 0
     socket_info: udp:5.6.7.8:5060
   local_contact: sip:5.6.7.8:5060
       from_user: 21
     from_domain: mykamailio.com
         updated: -1
   updated_winfo: -1
           flags: 0
      user_agent: Yealink SIP-T26P 6.73.0.50



If I make a call from 20 to 22 it works as expected but no notify is sent.



For completeness the changes I’ve made to the kamailio.cfg file are;

# diff kamailio.cfg_presence_example kamailio.cfg
6a7
> #!define WITH_NAT
119c120
< #!define DBURL "mysql://kamailio:kamailiorw@localhost/kamailio"
---
> #!define DBURL "mysql://kamailiorw:password@localhost/test_kamailio"
169a171
> alias="mykamailio.com"
221c223
< mpath="/usr/local/lib/kamailio/modules/"
---
> mpath="/usr/lib/x86_64-linux-gnu/kamailio/modules/"
228c230
< loadmodule "mi_fifo.so"
---
> loadmodule "jsonrpcs.so"
245d246
< loadmodule "mi_rpc.so"
279c280
< loadmodule "rtpproxy.so"
---
> loadmodule "rtpengine.so"
304,307d304
< # ----- mi_fifo params -----
< modparam("mi_fifo", "fifo_name", "/tmp/kamailio_fifo")
<
<
375,376c372,374
< modparam("auth_db", "calculate_ha1", yes)
< modparam("auth_db", "password_column", "password")
---
> modparam("auth_db", "calculate_ha1", no)
> modparam("auth_db", "password_column", "ha1")
> modparam("auth_db", "password_column_2", "ha1b")
414c412
< modparam("presence", "server_address", "sip:192.168.178.54:5060" )
---
> modparam("presence", "server_address”, "sip:5.6.7.8:5060")
454c452
< modparam("rtpproxy", "rtpproxy_sock", "udp:127.0.0.1:7722")
---
> modparam("rtpengine", "rtpengine_sock", "udp:127.0.0.1:2223")
835c833
<       rtpproxy_manage("co");
---
>       rtpengine_manage("co”);