Cisco IP SLA VoIP Call Setup Monitoring story
In the process of building a lightweight SIP call monitoring solution, I initially tested tools like SIPp and Python-based scripts. While SIPp offers deep SIP call simulation, I found it too complex and fragile for routine testing — requiring detailed XML scenarios, RTP simulation, and often additional logic in Python or shell scripts to manage execution, logging, and alerting. This made the solution feel too heavy, maintenance-intensive, and error-prone for a simple need: confirming whether VoIP call setup is working every few minutes.
Instead, I find a native Cisco IOS solution using IP SLA VoIP Call Setup Monitoring combined with Embedded Event Manager (EEM). which like magic to me
This method requires no external tools, and is fully supported on Cisco routers, and allows for real-time email alerting if a call setup fails — ideal for monitoring SIP trunks, PSTN gateways, or CUCM reachability.
️ Basic Configuration Workflow
1. Enable the SLA VoIP Call Application
call application voice ipsla-testcall ipsla-testcall
2. Configure IP SLA to Place a Test Call
ip sla 1
voip delay destination 90166677665533
frequency 300
timeout 5000
This schedules a simulated SIP call every 5 minutes to test the call path.
3. Create a Dial Peer for Call Routing
do the needed call routing it's mostly not needed
5. Trigger Email Alerts via EEM if SLA Fails
track 1 ip sla 1 reachability
event manager applet VoIP_Fail_Email
event track 1 state down
action 1.0 mail server smtp.gizo.com
action 1.1 mail to noc@gizo.com from router@gizo.com
action 1.2 mail subject "VoIP Call Setup Failure"
action 1.3 mail body "IP SLA VoIP call setup failed on $(hostname)
Even after asking multiple AI tools and trying open-source test tools, nothing worked quite the way I needed. The answer — as always — was hidden deep in the Cisco documentation, my lovely friend since the beginning.