【问题标题】:Sipdroid Authorization Username vs Caller IdSipdroid 授权用户名与来电显示
【发布时间】:2011-08-08 07:20:40
【问题描述】:
我是 VOIP 世界的新手,正在为我的一位客户开发 SIPDroid。在SIPDroid的SIP Account Preference窗口的详细信息中,我可以看到有两个用户名字段。一种是“授权用户名”,另一种是“用户名或来电显示”。我的客户端有一个基于 REST 的 Web 服务来与 Asterisk 后面的服务器通信。
我的问题是,'授权用户名'和'用户名或来电显示'有什么区别? 两个字段,它们的用途是什么。我知道,我需要一个唯一标识符来拨打和接听电话,但是哪个字段适用于这个唯一值?
谢谢
【问题讨论】:
标签:
authentication
voip
sip
asterisk
sip-server
【解决方案1】:
来电显示用户名将用作 SIP From Header 中 SIP URI 的用户部分,例如:
From: "Joe Bloggs" <sip:joe@from.somewhere.com>
包括 Asterisk 在内的绝大多数 SIP 服务器在收到带有 From 标头的请求时都会使用 joe 作为用户名。大多数 SIP 服务器也会对 URI 的服务器部分进行某种匹配,在此示例中来自.somwhere.com,以确定请求是来自想要进行身份验证的用户还是来自想要调用的外部方一个用户。
授权用户名的使用频率要低得多,并且与放置在摘要身份验证标头中的值有关,SIP 客户端在受到服务器质询时必须响应该值。身份验证标头的示例是:
Authorization: Digest username="joe",realm="from.somwhere.com",nonce="abcde12345",uri="1234@from.somwhere.com",response="xyx98765",algorithm=MD5
在这种情况下,授权用户名也是 joe。需要为 Authorization Username 指定单独的值是服务器在 Authorization 标头中要求的值与 From 标头中的值不同的地方,或者您将其称为 CallerID Username。