我是VOIP世界的新手,正在为我的一个客户开发SIPDroid。在SIPDroid的SIP帐户偏好窗口的详细信息中,我可以看到两个用户名字段。一个是'授权用户名',另一个是'用户名或来电显示'。我的客户端有一个基于REST的web服务与Asterisk背后的服务器进行通信。
我的问题是, '授权用户名'和'用户名或来电显示'两个字段之间的区别是什么?它们的目的是什么?我知道,我需要一个唯一标识符来拨打和接收呼叫,但是哪个字段适用于这个唯一值?由于
CallerID Username将在SIP From报头中用作SIP URI的用户部分,例如:
From: "Joe Bloggs" <sip:joe@from.somewhere.com>
绝大多数的SIP服务器,包括Asterisk,将使用joe作为用户名,当他们收到一个请求,从头。大多数SIP服务器也会对URI的服务器部分进行某种匹配,在本例中为from.somwhere.com,以确定请求是来自想要进行身份验证的用户还是来自想要调用用户的外部方。
Authorization Username的使用频率要低得多,它与SIP客户端在受到服务器质疑时必须响应的Digest身份验证头中的值相关。认证头的一个例子是:
Authorization: Digest username="joe",realm="from.somwhere.com",nonce="abcde12345",uri="1234@from.somwhere.com",response="xyx98765",algorithm=MD5
在本例中,授权用户名也是joe。需要为授权用户名指定单独的值的情况是,服务器要求的授权头中的值与from头中的值不同,或者您称之为CallerID用户名。