- 呼叫保持流程
通話主動Hold的一方,發INVITE消息,媒體流從sendrecv變為sendonly,對方傳回200 ok,媒體流從sendrecv變為recvonly,雙方ACK後,進入呼叫保持狀态,沒有通話的RTP包。
大緻流程如下
UE A發送INVITE(Sendonly)到網絡
網絡發送INVITE(Sendonly)到UE B
UE發送200 OK(recvonly)到網絡
網絡發送200 OK(recvonly)到UE A
UE A發送ACK到網絡
網絡發送ACK到UE B
- 呼叫激活流程
從上述呼叫保持流程轉到呼叫激活流程,激活端發INVITE消息,媒體流從Sendonly變為sendrecv,對方傳回200 OK,媒體流從recvlony變為sendrecv,雙方ACK後,恢複通話RTP包。
大緻流程如下
UE A發送INVITE(sendrecv)到網絡
網絡發送INVITE(sendrecv)到UE B
UE發送200 OK(sendrecv)到網絡
網絡發送200 OK(sendrecv)到UE A
UE A發送ACK到網絡
網絡發送ACK到UE B
- 遇忙呼叫轉移
被叫端busy并且設定了呼叫轉移,網絡會給主叫端傳回181 call被轉移的資訊。
大緻流程如下
UE A發送INVITE呼叫UE B
UE B傳回486 busy到網絡
網絡傳回181呼叫轉移資訊給UE A
網絡發送INVITE呼叫到轉移的UE C
UE C傳回200 OK到網絡
網絡發送200 OK到UE A
UE A發送ACK到UE C
- 會議通話流程
根據營運商需求有兩種方式:
可以直接發送REFER到會議電話中心,将UE D添加到會議電話并且UE D跟UE A保持通話狀态,不需要Hold UE D;
也可以先Hold UE D,再發送REFER到會議電話中心,将UE D加入會議電話。
可參考前面文章
大緻流程如下
UE A跟UE B通話
UE A跟UE C通話,Hold住跟UE B的通話
UE A Hold住跟UE C的通話
UE A發起INVITE到網絡會議中心
網絡傳回200 OK(INVITE)到UE A
UE A發送ACK到網絡
UE A發送refer(UE B)
UE B 傳回202 Accepted到UE A
UE B發送NOTIFY(100 Trying)到UE A
UE A傳回200 OK(NOTIFY)到UE B
再添加UE C到會議電話跟UE B相同的流程。
會議通話過程中再添加通話
UE A、B和C在進行會議通話
UE A Hold會議通話,呼叫UE D
UE A添加UE D到會議通話