Hi,
I'm experiencing a strange behavior with the Kamailio presence module. I've
a Polycom phone which takes the the XML tag "version" very seriously and so
as soon it SUBSCRIBEs to a parking lot a NOTIFY is sent from server with
"version=1" - When the Parking lot/extension gets busy it receives the
second NOTIFY with "version=1" whereas it should've been 2. So it fails to
light up the BLF icons.
Now, any further notify correctly increments the version tag and Polycom
blf works fine until its SUBSCRIBE expires and the first cycle of NOTIFY is
exchanged.
I can tell its a bug because for each NOTIFY the
*event_route[tm:local-request]* prints the attribute $subs(version) and it
correctly shows the sequence 1,2,3...onwards, However the sngrep/network
trace tells it differently, the version shows up as 1,1,2,3...onwards
*version:* kamailio 5.2.3 (x86_64/linux) c36229
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS,
DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC,
Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, 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_URI_SIZE 1024,
BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: c36229
compiled on 22:20:40 Jan 18 2020 with gcc 4.9.2
*MODULES:*#!ifdef WITH_PRESENCE
loadmodule "presence.so"
loadmodule "presence_mwi.so"
loadmodule "presence_xml.so"
loadmodule "presence_dialoginfo.so"
loadmodule "presence_reginfo.so"
loadmodule "pua.so"
loadmodule "pua_rpc.so"
loadmodule "pua_dialoginfo.so"
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)
modparam("pua", "outbound_proxy",
"sip:MY_HOST_IP:MY_HOST_PORT")
modparam("pua_dialoginfo", "include_callid", 1)
modparam("pua_dialoginfo", "send_publish_flag", FLT_DLGINFO)
modparam("pua_dialoginfo", "caller_confirmed", 1)
modparam("pua_dialoginfo", "include_tags", 1)
modparam("pua_dialoginfo", "override_lifetime", 124)
modparam("presence", "presentity_table", "presentity")
modparam("presence", "active_watchers_table",
"active_watchers")
modparam("presence", "watchers_table", "watchers")
modparam("presence", "db_update_period", 60)
modparam("presence", "db_table_lock_type", 0)
modparam("presence", "local_log_level", 3)
modparam("presence", "notifier_processes", 10)
modparam("presence", "force_delete", 0)
modparam("presence", "subs_db_mode", 2)
modparam("presence", "db_table_lock_type", 0)
modparam("presence", "expires_offset", 60)
modparam("presence", "send_fast_notify", 1)
modparam("presence", "clean_period", 30)
modparam("presence", "publ_cache", 0)
modparam("presence", "min_expires_action",
PRESENCE_MIN_EXPIRES_ACTION)
modparam("presence", "min_expires", PRESENCE_MIN_EXPIRES)
modparam("presence", "max_expires", PRESENCE_MAX_EXPIRES)
modparam("presence", "sip_uri_match", 1)
modparam("presence", "waitn_time", 1)
modparam("presence", "db_url", DBURL)
modparam("presence", "server_address",
"sip:MY_HOST_IP:MY_HOST_PORT")
modparam("presence_xml", "force_dummy_presence", 1)
modparam("presence_xml", "force_active", 1)
modparam("presence_xml", "db_url", DBURL)
modparam("presence_dialoginfo", "force_single_dialog", 1)
modparam("presence_dialoginfo", "force_dummy_dialog", 1)
#!endif
Looking to find some answers,
Thanks,
Sammy