Hi Aqs
Yup, PUA’s in use as per the example at http://kb.asipto.com/kamailio:presence:k43-blf http://kb.asipto.com/kamailio:presence:k43-blf ;
Best Regards Mark
Relevant bits;
loadmodule "presence.so" loadmodule "presence_xml.so" loadmodule "presence_dialoginfo.so" loadmodule "pua.so" loadmodule “pua_dialoginfo.so"
# ----- presence params ----- modparam("presence", "db_url", DBURL) modparam("presence", "server_address", "sip:5.6.7.8:5060") modparam("presence", "send_fast_notify", 0) modparam("presence", "db_update_period", 20) modparam("presence", "clean_period", 40) modparam("presence", "subs_db_mode", 2) modparam("presence", "fetch_rows", 1000)
# ----- presence_xml params ----- modparam("presence_xml", "db_url", DBURL) modparam("presence_xml", "force_active", 1)
# ----- presence_dialoginfo params ----- modparam("presence_dialoginfo", "force_single_dialog", 0)
# ----- pua params ----- modparam("pua", "db_url", DBURL) modparam("pua", "db_mode", 2) modparam("pua", "update_period", 60) modparam("pua", "dlginfo_increase_version", 0) modparam("pua", "reginfo_increase_version", 0) modparam("pua", "check_remote_contact", 1) modparam("pua", "fetch_rows", 1000)
# ----- pua_dialoginfo params ----- modparam("pua_dialoginfo", "include_callid", 1) modparam("pua_dialoginfo", "send_publish_flag", FLT_DLGINFO) modparam("pua_dialoginfo", "caller_confirmed", 0) modparam("pua_dialoginfo", "include_tags", 1) modparam("pua_dialoginfo", "override_lifetime", 124) modparam("pua_dialoginfo", "pubruri_caller_dlg_var", "pubruri_caller") modparam("pua_dialoginfo", "pubruri_callee_dlg_var", "pubruri_callee”)
On 10 Mar 2018, at 20:33, Aqs Younas aqsyounas@gmail.com wrote:
Are you using any pua module? If not, you need to use pua_dialog/pua_* modules to handle presence for UAs that do not generate PUBLISH for presence.
Best Regards,
Aqs Younas
On 11 March 2018 at 00:58, Mark Boyce <mark@darkorigins.com mailto:mark@darkorigins.com> wrote: 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 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 http://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 http://mykamailio.com/>;tag=1678729960 To: <sip:22@ <>mykamailio.com http://mykamailio.com/> Call-ID: 1544456221@10.1.3.84 mailto: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 http://mykamailio.com/ watcher_username: 21 watcher_domain: mykamailio.com http://mykamailio.com/ to_user: 20 to_domain: mykamailio.com http://mykamailio.com/ event: dialog event_id: to_tag: a6c744f901d779619c580c9ef48ab5e9-2651 from_tag: 1809677495 callid: 2674059037@10.1.3.84 mailto: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 http://5.6.7.8:5060/ local_contact: sip:5.6.7.8:5060 <> from_user: 21 from_domain: mykamailio.com http://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 http://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 http://127.0.0.1:7722/")
modparam("rtpengine", "rtpengine_sock", "udp:127.0.0.1:2223 http://127.0.0.1:2223/")
835c833
< rtpproxy_manage("co");
rtpengine_manage("co”);