作者yunkeyman (行!)
看板PangSir
标题Re: [问题] 关於第二次作业问题
时间Sun Nov 20 14:40:29 2005
※ 引述《penguin1 (光光思)》之铭言:
: ※ 引述《sitos (麦子)》之铭言:
: : 我想 助教可能回的时候没有想很清楚 其实CCL UA送出的东西没有错
: : 原post可能误会了
: : Request URI 是
: : sip:140.112.30.32:2000
: : 这是一台server前面没有接任何UA的名字
: : To header是
: : To:sip:[email protected]:2000;transport=tcp
: : 在ip前面是有接UA的名字的
: : 这两个其实还是不一样的
: : 至於为什麽To header里面的ip address是registrar的address呢?
: : 很简单 因为之後要redirect时 caller只知道registrar的位置 不知道callee的位置
: 上面这段才是正确的解释
: 很抱歉之前没有想很仔细就回答了....
: : mapping当然是要从To(user@registrar)对应到Contact(user@真正位置)
: : 如果To也是user@真正位置 那就表示caller在invite时要把user@真正位置 放在Contact里
: : 但如果这样的话 代表caller知道callee的真正位置 那还要registrar干麻 @@
: : 所以在这里 registrar还是一样要把To跟Contact的pair纪录下来
: : 而server的判断也是不变的 大家不要担心
: 完整的作法是这样没错
: 我之前的讲法是比较简单的
: 因为contact中会有username
: 最简单的做法是可以直接记录contact
: 然後透过invite的userame去比对
: 两种作法意思是差不多的
: 反正只要能达到转址的目的就可以了...
但是按照课本的图
其实caller可以用一个name去当registrar的address of record,此name存在To:中
(Ex:sip:
[email protected])
然後Contact中的内容才是caller的真实位置(Ex:sip:
[email protected])
我觉得这样的用法是
caller可以告诉其他人他在registrar所注册的名字
然後其他人去registrar用caller告知的名字作search而找到caller真正的位置
如此caller便可以有多重位置的对应
Ex:
sip:
[email protected] ==> sip:
[email protected]
sip:
[email protected] ==> sip:
[email protected]
....
而不会变成在registrar中只有存Collins当作search key
这样使用者若是有多个真实位置的话,这样就会有ambiguous...
Ex.
Collins ==> sip:
[email protected]
Collins ==> sip:
[email protected]
....
不过也许这样可以做成follow me service也不一定....
因为我是按照课本的图再加上自己的想法讲的,也不知道到底是不是这样...
还烦请助教解释罗
谢谢助教!!
: : (如果还是不懂 再仔细看一下那张流程图)
: : 我自己的另外一个问题是
: : 我似乎没看到CCLUA会送ACK回来!!
: 我的也没有看到ACK....
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.166.45.172