作者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)