[asterisk-dev] [Code Review] Adjust to allow for Digium phones' send to voicemail feature

Mark Michelson reviewboard at asterisk.org
Thu May 17 09:54:44 CDT 2012


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1925/
-----------------------------------------------------------

Review request for Asterisk Developers, Jason Parker and Matt Jordan.


Summary
-------

Digium phones have a couple of ways to send calls to voicemail.

On an incoming call, a call may be diverted to either the user's own, or to another user's, voicemail using the "send to vm" softkey.
On an bridged call, a user may select a contact and press the "transfer vm" key in order to blind transfer the call to the contact's voicemail.

Contrary to the way this is likely done in other Asterisk installations, sending a call to a contact's voicemail does not send the call to a different extension than would be used for dialing the contact. Instead, something must be available in the dialplan to distinguish an incoming call that is intended for a phone vs. an incoming call that is intended for voicemail.

The mechanism by which this is accomplished is via a Diversion header's reason parameter. When a call is being sent to voicemail, the reason parameter will be set to "send_to_vm".

For the first case, on a redirected incoming call, the Diversion header is in the 302 response sent from the Digium phone.
The second case is a bit unorthodox, but from our readings, not harmful or non-compliant. In the second case, the Diversion header is in the REFER request sent from the Digium phone when it performs its blind transfer.

The changes to Asterisk are minimal here. First, the AST_REDIRECTING_REASON_SEND_TO_VM value had to be defined in callerid.h, and its string value and definition had to be added to a table in callerid.c. Finally, parsing of the Diversion header had to be added to handle_request_refer() in chan_sip.c


Diffs
-----

  /certified/branches/1.8.11/channels/chan_sip.c 366547 
  /certified/branches/1.8.11/include/asterisk/callerid.h 366547 
  /certified/branches/1.8.11/main/callerid.c 366547 

Diff: https://reviewboard.asterisk.org/r/1925/diff


Testing
-------

Testing is posted as a separate review: https://reviewboard.asterisk.org/r/1926


Thanks,

Mark

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20120517/8a020d25/attachment.htm>


More information about the asterisk-dev mailing list