作者wanquan (X-Y轴的世界)
看板PangSir
标题Re: [NGWN] 作业一
时间Sat Apr 9 23:04:06 2011
※ 引述《kaishu (Kai)》之铭言:
: 请教一些连线程序的问题 :)
: 0.
: 目前的文件看来都是A先注册,然後B call
: 需不需要考虑A先call,之後B才注册的情况?
: 又,需不需要考虑不需要注册,A和B直接建立SIP通信的情况?
不用想这麽复杂,作业只是要求 A先注册,然後B call
: 令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?
投影片上面写得很清楚,完全需要按照SIP的格式,Don't Cheat
: ----------------------------------
: 2.
: 关於"listen"的问题,
: 前面提到client在启动後、开始通话前,会"假性当掉",是因为listen无限回圈的关系;
: 我可以不要利用无限回圈吗?
: 换句话说,该"listen"的时候,就只要让程式idle到接收函式有动作就好了?
这个是自己的实作,同学您想要怎样做就怎样做吧 : )
: 3.
: 范例程式的A在收到B的INVITE後(应该是这样吧),会出现"连线"按钮,
: 如果不按的话就会idle着,按了才会开始通话。
: 我可以不要做这个设计,直接就开始通话吗?
可以
: 4.
: 在两方成功开始通话後,
: 若其中一方挂断(不管是先注册方还是後call方),
: 是否还要再送SIP讯息告诉对方"连线要终止了"?需要实作这一部份吗?
:谢谢 :)
这不需要。
--
Nothing is Impossible
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.30.46