A -> B “NEW” (A sets up a call to B)
A <- B “ACK” (B acknowledges)
B -> C “NEW” (B sets up call to C)
B <- C “ACK” (C acks)
B <- C “RINGING” (C informs B of ringing if applicable)
A <- B “RINGING” (B informs A of ringing if applicable)
B <- C “ANSWER” (C informs B of answer condition)
A <- B “ANSWER” (B informs A of answer condition)
A <- B “TXREQ” (B requests A test connectivity to C)
B -> C “TXREQ” (B requests C test connectivity to A)
A -> C “TXCNT” (A attempts contact with C)
A <- C “TXCNT” (C attempts contact with A)
A <- C “TXACC” (C verifies connectivity with A)
A -> C “TXACC” (A verifies connectivity with C)
If at this point we fail to transfer a calls media path from A to C the connection is dropped…
Bottom line is i don’t want B in the above example doing media bridging for any reason.
B should only do at most the signaling between A and C… Media should be FORCED to transfer directly between A and C.