Phone Call Alerting - Solved

I've been a SolarWinds Orion user for over 3 years now and love the product.  One feature I have always wanted is the ability to escalate my alerts and place a phone call if a downed node is not acknowledged or recovered within a defined period.  This is great for the middle of the night since we are not staffed in our NOC 24x7 and most of us turn off email alerts due to the overwhelming number we receive for other stuff throughout the night.  After much testing and trial/error I came up with a cost effective robust solution which works extremely well.  I hope others can use this info to solve similar situations.

Requirements:

  • SolarWinds Orion NPM
  • sipcli (http://www.yasinkaplan.com/SipCli/) paid version ($69)
  • Cisco Unified Communications Manager (I'm sure it will work with any IP based phone system which supports SIP trunking, but we had CUCM and that's what I'm basing this post off of)

 

Procedure:

  1.  Download and extract sipcli.  I extracted it to c:\sipcli on my Orion server.  The free version only plays a 3 second audio clip before it hangs up, the paid version removes this limitation.  The 3 seconds doesn't give you enough time to get anything out of a cell phone call since it's just starting to ring before it hangs up.
  2. In Unified Communications Manager create a new SIP Trunk for use with Orion.
    1. Device -> Trunks
    2. Add New
      1. Trunk Type: SIP Trunk
      2. Device Protocol: SIP
      3. Trunk Service Type: None(Default)
    3. Values below were set, anything not listed was left as default.  Consult your Telecom engineer if you have any questions.
      1. Device Name: SIPCLITrunk (you can set this to anything you want, as long as it's unique)
      2. Device Pool: Set this to whatever DP is local to your Orion installation
      3. Location: Set this to where your Orion installation is
      4. Run On All Active Unified CM Nodes: Check this
      5. Inbound Calls: Calling Search Space: Use a CSS which gives you access to wherever you want to call
      6. Redirecting Diversion Header Delivery - Inbound: Check this
      7. Redirecting Diversion Header Delivery - Outbound: Check this
      8. SIP Information: Destination: Add the IP address of your Orion server with port 5060
      9. SIP Trunk Security Profile: Non Secure SIP Trunk Profile
      10. Rerouting Calling Search Space: Use a CSS which gives you access to wherever you want to call
      11. Out-Of-Dialog Refer Calling Search Space: Use a CSS which gives you access to wherever you want to call
      12. SIP Profile: Standard SIP Profile
  3. Configure SolarWinds Orion Advanced Alert to use sipcli
    1. Open the alert you want to edit
    2. Navigate to the Trigger Actions tab
    3. Select Add New Action
    4. Choose Execute an external program
    5. Under Program to execute enter "C:\sipcli\sipcli.exe 1234 -d 192.168.1.10:5060 -t "This is an automated message that the network node ${NodeName} is down." -c g711u -h 5"
      1. C:\sipcli\sipcli.exe = Update to match where you extracted sipcli.exe in step 1
      2. 1234 = this is the phone number or extension you want to call, format it however you need to to place an external call (i.e. add 9 to the front if necessary)
      3. -d 192.168.1.10:5060 = This is the IP address of your CUCM server
      4. -t "This is an automated message that the network node ${NodeName} is down." = This is the text to read, you can add any variable you need and it will be dynamically filled
      5. -c g711u = Define this to use the G.711ulaw codec
      6. -h 5 = this defines how many times to repeat the audio before terminating the call, if you are calling a cell phone, you many want to set this higher than 1.
    6. Configure the Alert Escalation however you need, my example is below:
      1. We wanted the phone call to be placed 1 hour after the event triggered and if it had not been acknowledged
      2. Check "Do not execute this Action if the Alert has been Acknowledged"
      3. Check "Delay the execution of this Action" and set for 1 Hour
I hope this helps, please leave me feedback and comments / questions.