Ignoring SIP redirect messages from the Cisco 7912

A few months ago, I started using a Cisco 7912 with my home Asterisk system. It’s a much nicer phone than most analog sets you can buy. Furthermore, it is a pure IP phone and therefore doesn’t have the same echo problems as my analog phones hanging off ATAs.

However, there is one frustration. The phone attempts to be smart, and will redirect calls to voice mail after four rings if the voice mail number has been configured. Generally, it’s a nice feature, but it can be quite annoying when I have the Asterisk-powered doorbell ring the 7912. The procedure goes something like this:

  1. Somebody presses the Doorbell Fon, which creates a call into an FXO port on my Asterisk server.
  2. Asterisk handles the call, either by ringing a group of extensions directly, as in Dial(SIP/cisco7912&SIP/others), or by ringing all extensions in a queue.
  3. All the phones that are targets in the queue or Dial application ring. On the fourth ring, the 7912 gets smart and decides to send the call to voice mail.
  4. Upon receipt of the SIP redirect message, Asterisk sends the call to the voice mail extension. However, without knowing what mailbox to send to, Asterisk prompts the user. On a Doorbell Fon, there is only one button and no way to interact with the phone.

While redirection to voicemail may generally be a useful feature, four rings doesn’t make sense for a doorbell, especially if the 7912 causes the call to be sent to voice mail and prevents other extensions from answering it. What I would really like Asterisk to do is to ignore SIP redirect messages. (I can think of many applications where you’d want Asterisk to do the call processing without regard to what client devices tell you to do, especially if you might be liable for the resulting toll charges.)

It turns out that there’s an experimental flag to do this in the Dial application. In Asterisk trunk, there’s a small bit of code that allows you to pass the “i” option to Dial to instruct Asterisk to ignore SIP redirects. I’m still running the 1.2 release, so I don’t have this option just yet. I suppose it is just another reason why I am looking forward to my upgrade from Asterisk 1.2.

Leave a Reply