在c#中注册SIP帐号时如何设置displayName

时间:2017-11-07 13:47:23

标签: c# sip freeswitch

我尝试注册一个SIP帐户。注册成功(到freeswitch)。但是,我想添加帐户的显示名称。我怎么做? Freeswitch的文档对此并不清楚。我试过这种方式:

 AccountConfig acfg = new AccountConfig();
            acfg.idUri = "sip:" + Account + "@" + Domain;
            pjsua2.SipHeader header = new pjsua2.SipHeader();
            header.hName = "displayName";
            header.hValue = "Dit is de persoon die als account: " + Account;
            acfg.regConfig.headers.Add(header);

但这不成功。我很确定我必须通过添加标题来添加显示名称,但我认为我使用了错误的标题。 使用上面的代码我没有收到错误。

1 个答案:

答案 0 :(得分:2)

基于RFC3261

  

以下是有效To标头字段的示例:

 To: The Operator <sip:operator@cs.columbia.edu>;tag=287447
 t: sip:+12125551212@server.phone2net.com

因此,您必须将您的SIP-URI嵌入<>,并将您的显示名称放在其前面。由于在执行SIP REGISTER时,to-and-from-URI必须相同,因此您还必须设置from-URI。因此,您应该将代码更改为:

        AccountConfig acfg = new AccountConfig();
        acfg.idUri = $"{YourDisplayNameHere} <sip: {Account}@{Domain}>";
        ...

由于我不熟悉PJSIP,您需要检查是否要以另外的方式为SIP REGISTER设置to- / from-URI。

希望有所帮助。