如何通过域而不是IP地址注册到SIP服务器,并在客户端创建SIP帐号



我已经成功编译了android的Liblinphone库,并使用它注册到Brekeke SIP服务器,并在android客户端与PC客户端(x-Lite,linphone)之间进行呼叫。但我面临两个问题:

  1. 客户端用自己的IP地址而不是域名注册到服务器。

    例如:如果服务器IP:192.168.10.105,客户端(IP,name): 192.168.10.101,101,用户将注册到Brekeke为sip:101@192.168.10.101而不是sip:101@192.168.10.105,所以当我从linphone客户端呼叫101时,结果是Not Found

    try{
        from = LinphoneCoreFactory.instance()
              .createLinphoneAddress("sip:101@192.168.10.105");
        proxy_cfg = LinphoneCoreFactory.instance().createProxyConfig
                    ("sip:101@192.168.10.105","sip:"+from.getDomain(),null,true);
    } catch (LinphoneCoreException e) {
        FileLog.e("proxy_cfg error",e);
    }
    LinphoneAuthInfo info;
    info = LinphoneCoreFactory.instance().createAuthInfo(from.getUserName(),
            "password",null,"sip:"+from.getDomain()); 
    mLinphoneCore.addAuthInfo(info);
    try {
        mLinphoneCore.addProxyConfig(proxy_cfg);
    } catch (LinphoneCoreException e) {
      FileLog.e("reg error",e);
    }
    mLinphoneCore.setDefaultProxyConfig(proxy_cfg); 
    
  2. 我需要通过代码从客户端在SIP服务器上创建用户,这是可能的使用Liblinphone还是我应该自己实现它?

简单地通过使用DNS SRV保持跟踪客户端IP

最新更新