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(a)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(a)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(a)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(a)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”);