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