[asterisk-dev] [Code Review] hints with 2+ devices that include ONHOLD

David Vossel dvossel at digium.com
Wed May 27 13:52:53 CDT 2009


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.digium.com/r/254/
-----------------------------------------------------------

(Updated 2009-05-27 13:52:53.375055)


Review request for Asterisk Developers.


Changes
-------

update with p_lindheimer's changes.

--------description of update pulled directly from notes on issue #15057
There were some issues pointed out in the review which uncovered some more in further testing, so attaching two new patches that should now exhibit the following behavior:

BUSY & ONHOLD => BUSY
INUSE & ONHOLD => INUSE
ONHOLD & RINGING => RINGINUSE

this opens up a question, should the last return RINGINUSE or is a new state required to return RINGONHOLD? (and if we have ONHOLD&RINGING&INUSE do we return all three?)

My opinion would be RINGINUSE is appropriate... 


Summary
-------

This is a community patch I cleaned up and tested.  Below is the reporter's, p_lidheimer, description of the issue pulled directly from issue #15057.

----------------------------
If you have a hint with two (or more) devices or a device and a custom devstate that includes ONHOLD, you get unexpected results. Two examples:

exten => 222,hint,SIP/222&SIP/211
exten => 333,hint,Custom:DND333&SIP/333

The following results are inconsistent as they should all return ONHOLD:

ONHOLD & IDLE = IDLE
ONHOLD & UNAVAILABLE => UNAVAILABLE
ONHOLD & UNKNOWN => IDLE
ONHOLD & INVALID => IDLE

Per Russell Bryant's response on the mailing list:

"I would agree that this is a bug. I would expect that combination of
states to result in an OnHold state."


This addresses bug 15057.
    https://issues.asterisk.org/view.php?id=15057


Diffs (updated)
-----

  /trunk/include/asterisk/devicestate.h 196415 
  /trunk/main/devicestate.c 196415 

Diff: http://reviewboard.digium.com/r/254/diff


Testing
-------

I have tested the patch and can verify the situations in the description all result in ONHOLD.


Thanks,

David




More information about the asterisk-dev mailing list