Wait for a state change in any of a list of call channel objects.
This function will also return if an object’s state is IDLE or ERROR when the function is called.
This function will return a list containing the current state of each call channel object supplied in object_list.
Usage example:
from prosody.uas import Error, Hangup, wait_for_any_state
def main(channel, application_instance_id, file_man, my_log, application_parameters):
    # start a call on the outbound channel
    out_channel = channel.ExtraChannel[0]
    if out_channel.start_call('sip:3301@127.0.0.1:5060;user=phone', call_from='bob@1234') is True:
        # get the current state of the two channels
        state = channel.state()
        out_state = out_channel.state()
        # wait for a state change in either channel, e.g.
        # channel going to IDLE or out_channel going to ringing
        state, out_state = wait_for_any_state([channel, out_channel], [state, out_state])
        # the inbound call might have gone IDLE
        if state == channel.State.IDLE:
            raise Hangup('channel state is IDLE')
        if out_state == out_channel.State.RING_OUTGOING:
            # perhaps do something here, e.g. put ringing on the inbound channel
            channel.ring()
        elif out_state == out_channel.State.ANSWERED:
            # do something here, e.g. answer the inbound call
            state = channel.answer()