SIP OPTIONS/SUBSCRIBE/NOTIFY
SIP OPTIONS, SUBSCRIBE, and NOTIFY Messages
This feature processes SIP OPTIONS (qualify pings), SUBSCRIBE, and NOTIFY messages. It is disabled by default to prevent database or storage overload in high-traffic scenarios.
Required Configuration
Enable processing in /etc/voipmonitor.conf. Adjust or add these settings:
# Controls the analysis of SIP OPTIONS, SUBSCRIBE, NOTIFY messages. They can be stored to a PCAP file, seen in SIP Opt. Active, or also stored to the Database. # Default is 'no'. Options include 'yes', 'nodb', and 'no'. sip-options = no # Controls whether to store SIP OPTIONS messages to disk. Note that in situations of high traffic, this could overload the file system. Default is 'no'. save-sip-options = no # Enable or disable the analysis and storage of SIP SUBSCRIBE requests. Default is 'no'. sip-subscribe = no # Controls whether to store SIP SUBSCRIBE messages to disk. Like OPTIONS, this could overload the system in high-traffic scenarios. Default is 'no'. save-sip-subscribe = no # Enable or disable the analysis and storage of SIP NOTIFY requests. Default is 'no'. sip-notify = no # Controls whether to store SIP NOTIFY messages to disk. This is similar to OPTIONS and SUBSCRIBE in that it can overload the system in high-traffic scenarios. Default is 'no'. save-sip-notify = no
To enable OPTIONS pings (qualify evaluation), set sip-options = yes.
Configuration Location in Distributed Architecture
In distributed/client-server deployments, the location where you must configure these options depends on your packetbuffer_sender configuration:
| Mode | Configuration Location | Processing Location |
|---|---|---|
| Central server | Central server processes raw packets from remote sensors | ||
| Remote sensor | Each sensor processes packets locally before sending CDRs to central server |
To determine where to configure sip-options, sip-subscribe, and sip-notify:
- 1. Check the
packetbuffer_sendersetting on your remote sensors
grep packetbuffer_sender /etc/voipmonitor.conf
- 2. If
packetbuffer_sender = yes
- Configure these options on the **central server's**
/etc/voipmonitor.conf - Restart the voipmonitor service on the central server
- 3. If
packetbuffer_sender = no(or not set)
- Configure these options on the **remote sensor's**
/etc/voipmonitor.conf - Restart the voipmonitor service on the remote sensor(s)
For detailed information on distributed architectures and configuration locations, see Sniffer_distributed_architecture.
GUI Usage
Access via GUI > SIP Opt., Subsc., Notify to view, filter, or delete these messages.
- Settings: Configure max OK qualify duration (default: 2000ms) and additional OK response codes (e.g., 404).
- Active/Stored Views: Green records indicate OK (no timeout exceeded, 200 OK response). Red records show failures (other responses or timeouts).
- Alerts: Use "SIP Opt/Sub/Notify Qualify" alert type for red records.
This setup allows monitoring OPTIONS pings like heartbeat checks for availability, providing statistics similar to ICMP ping (e.g., latency, response codes).
Performance Tuning
OPTIONS, SUBSCRIBE, and NOTIFY messages can generate a very high volume of database writes because they are sent frequently (even for idle devices). This can cause the sip_msg queue in the SQL queue to grow, leading to delays in storing these messages.
If you experience high sip_msg queue counts:
- Increase database threads specifically for SIP messages:
mysqlstore_max_threads_sip_msg = 4
- Reduce data retention: Use
cleandatabase_sip_msgto automatically delete old records and keep the table size manageable. See Data_Cleaning for details.
- Use
nodbmode: Setsip-options = nodb,sip-subscribe = nodb, andsip-notify = nodbto process messages for the GUI's "Active" view but do not store them in the database. This is recommended if you only need real-time monitoring and alerts.
- Disable collection entirely: If you do not need these messages at all, set all options to
no.
See SQL_queue_is_growing_in_a_peaktime for more information on SQL queue performance tuning.
AI Summary for RAG
Summary: This article covers enabling and using SIP OPTIONS (qualify pings), SUBSCRIBE, and NOTIFY in VoIPmonitor. It explains default disabled state to avoid overload, configuration options in voipmonitor.conf, and GUI features for viewing, settings, and alerts. In distributed architectures, configure sip-options, sip-subscribe, and sip-notify on the central server if packetbuffer_sender=yes (Packet Mirroring), or on remote sensors if packetbuffer_sender=no (Local Processing).
Keywords: SIP OPTIONS, qualify ping, SUBSCRIBE, NOTIFY, voipmonitor.conf, GUI settings, alerts, storage overload, response codes, latency monitoring, distributed architecture, packetbuffer_sender, central server, remote sensor, configuration location
Key Questions:
- Why is SIP OPTIONS processing disabled by default?
- How do I enable SIP OPTIONS for qualify pings?
- What configuration options control storage of these messages?
- How can I view and filter OPTIONS/SUBSCRIBE/NOTIFY in the GUI?
- How do I set up alerts for failed qualify pings?
- What do green and red records mean in the SIP Opt. views?
- How does this feature help monitor endpoint availability without ICMP?
- Where do I configure sip-options/sip-subscribe/sip-notify in distributed architecture?
- Should I configure these options on central server or remote sensor?