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