作者kaishu (Kai)
看板PangSir
標題Re: [NGWN] 作業一
時間Sat Apr 9 02:04:10 2011
請教一些連線程序的問題 :)
0.
目前的文件看來都是A先註冊,然後B call
需不需要考慮A先call,之後B才註冊的情況?
又,需不需要考慮不需要註冊,A和B直接建立SIP通信的情況?
1.
令A為先註冊方,B為後call方,
B從server取得了SIP的302訊息(內含A的真正位址)之後,有兩件事情要做:
[1]回送ACK給server
這個動作需要實作嗎?
[2]接著B要:
1)先送一個SIP的INVITE訊息給A,然後A和B建立RTP連線
2)先送一個SIP的INVITE訊息給A,然後A回送ACK給B(投影片的圖沒有提到這一步),
最後B才能和A建立RTP連線
以上都能達成通話的目的,但是是否要做2)的ACK?
----------------------------------
2.
關於"listen"的問題,
前面提到client在啟動後、開始通話前,會"假性當掉",是因為listen無限迴圈的關係;
我可以不要利用無限迴圈嗎?
換句話說,該"listen"的時候,就只要讓程式idle到接收函式有動作就好了?
3.
範例程式的A在收到B的INVITE後(應該是這樣吧),會出現"連線"按鈕,
如果不按的話就會idle著,按了才會開始通話。
我可以不要做這個設計,直接就開始通話嗎?
4.
在兩方成功開始通話後,
若其中一方掛斷(不管是先註冊方還是後call方),
是否還要再送SIP訊息告訴對方"連線要終止了"?需要實作這一部份嗎?
謝謝 :)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.217.53
1F:推 top90233a:實作的部分似乎是depend on vendor XD 04/09 02:20
2F:推 wanquan:樓上正解...該做的你一定要做完,requirement寫得很清楚了 04/09 09:16
3F:→ kaishu:不過reqiurement並沒有提到我上面說的細節 04/09 14:56
4F:→ kaishu:可以解答我問的問題嗎?不然我沒有辦法確定規格:) 04/09 14:57
5F:→ kaishu:頂樓說的depend on vendor是什麼意思?誰是vendor? 04/09 14:57
※ 編輯: kaishu 來自: 140.112.29.130 (04/09 18:41)