SIP入门(二):建立SIPserver

SIP入门(二):建立SIPserver

       在我的上一篇文章中已经介绍怎样通过SIP软电话直接通话,可是假设须要支持很多其它用户互相通话,同一时候基于安全考虑,须要对用户帐户登录进行验证控制,这些情况下就须要建立SIPserver。

SIPserver的作用:
       呼叫控制和处理功能、业务提供/支持功能、用户管理功能、协议处理功能、路由处理、接入认证、计费信息採集、操作维护/网管功能、互通功能、安全功能(可选)、黑白名单功能、拥塞控制功能(可选)。

建立SIPserver的条件:
       * 一台计算机,作为server;
       * server通常须要拥有固定的IP地址;
       * server上不能再执行client(也就是说,client、server不能同一时候启动,否则会冲突)。

      上一篇文章中已经介绍了怎样使用Yate2client,本次仍然使用Yate2搭建SIPserver。因为Yate2同一时候包括client及server端,所以不须要再单独安装server端。

说明,本次測试须要用到三台电脑,详细例如以下:

电脑A,Yate2client,账户名:test,IP:192.168.1.102

电脑B,Yate2server,IP:192.168.1.106

电脑C,Yate2client,账户名:cheney,IP:192.168.1.103

另外,不建议在Windows7上安装Yate2server,会有非常多问题,导致server无法使用,建议使用Windows XP。

用Yate2搭建SIPserver的步骤:
1. 安装Yate2server(省略);
2. 打开Yate2安装文件夹的conf.d子文件夹;
3. 将regfile.conf.sample复制一份,改名为regfile.conf,打开作下列改动:
   * 找到;auth=100、;register=100、;route=100三行,分别去掉前面的分号;
   * 对须要建立的每个用户,在文件末尾添加�两行:
   [username]
   password=密码
   比如:
   [cheney]
   password=521

   [test]
   password=521
   这样,Yate2server就有了身份认证功能。      
4. 開始-管理工具-服务,又一次启动Yet Another Telephony Engine服务,假设没有错误提示,则服务启动成功。

验证server是否可用
1. 在电脑A启动Yate2client;
2. 选择Settings-〉Accounts-〉New,打开新建帐户对话框,填写各项目,例如以下图所看到的:
   * Use provider,选择none  
   * Protocol=sip
   * Username=username
   * Password=password
   * Server=server的IP地址

<span>SIP入门(二):建立SIPserver</span>

       点击OK后,Status应该会显示“online”,例如以下图所看到的。这表明注冊成功,您已经正确建立了最简单的Yate2 SIPserver。
 <span>SIP入门(二):建立SIPserver</span>

       下图为注冊过程中的在电脑B中的通信抓包数据。

<span>SIP入门(二):建立SIPserver</span>

通过Yate2server打电话
1. 在电脑C启动Yate2client,新建帐户并登陆;
2. 在电脑A的Yate2client的拨号栏里面输入对方帐户名,点击“Call”就可以拨打电话,例如以下图所看到的。

<span>SIP入门(二):建立SIPserver</span>

       下图为通话过程中的在电脑B中的通信抓包数据。
<span>SIP入门(二):建立SIPserver</span>

     到此,建立起SIPserver并进行通话測试的工作结束。网友有兴趣的能够分析抓包数据,从而对SIP的通信流程有一个具体的了解。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119139.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C# 条件运算符_c++ 运算符

    C# 条件运算符_c++ 运算符usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespace_0212_条件运算符{classProgram{//?一、C#条件运算符(?:)…

    2022年10月2日
  • 但是生活总不是完美的

    但是生活总不是完美的里。为细水停留,为蔷薇伫足。水色清韵,一品天香,末指的时间,却觉不出暗香盈袖。输细水一分色,逊琼雪一段香。以晴翠为笔,以琼雪为墨。逸岭千城,踏雪无痕,末指的空间,却砌不出烟火人间。输晴翠一分情,逊琼雪只不过在寻求一种温暖的生存方式,可最后得到的并不是答案。高级别墅,奢华名车,并不是每一个进去的人都能快乐的,或许有了这些物质做依靠,总比什么都没有好许多,生活有时也仅仅只是一种形式,往往看到的只是外在

    2022年5月28日
  • 详解C/C++中volatile关键字

    详解C/C++中volatile关键字一、volatile介绍volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在DSP开发中,经常需要等待某个事件的触发,所以经常会写出这样的程序:这段…

    2022年6月1日
  • java 获取当前时间的三种方法_java获取单层文件夹大小

    java 获取当前时间的三种方法_java获取单层文件夹大小A获取当前时间:Java代码importjava.text.SimpleDateFormat;importjava.util.Date;publicclassGetCurrentTime{/*获得当前时间*/publicstaticStringgetCurrentTime(){DatecurrentTime=newDate();SimpleDateFormatformat…

    2022年9月5日
  • Delphi 2007安装问题[通俗易懂]

    Delphi 2007安装问题[通俗易懂]
    安装前提是你已经下载了Delphi2007forWin32的ISO。
      Delphi2007安装程序根据不同的序列号(许可文件)来判断安装版本,一般ISO中自带的许可文件是专业版的。
      企业版和专业版的许可文件下载:delphi2007_slip.zip
      C++Builder2007的企业版许可文件(slipfileforC++Builder2007):cb2007_ent.zip
      新装方法:
      1、下载D2

    2022年11月2日
  • pycharm2021.11.3 激活【最新永久激活】

    (pycharm2021.11.3 激活)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~6B1QWJC8H5-eyJsaWNlb…

    2022年3月28日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号