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的通信流程有一个具体的了解。

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 一致性哈希算法与Java实现「建议收藏」

    一致性哈希算法与Java实现「建议收藏」一致性哈希算法与Java实现========================================================一致性哈希算法是分布式系统中常用的算法。比如,一个分布式的存储系统,要将数据存储到具体的节点上,如果采用普通的hash方法,将数据映射到具体的节点上,如key%N,key是数据的key,N是机器节点数,如果有一个机器加入或退出这个集群,则所

  • 什么是十字链表?

    什么是十字链表?十字链表是一种存储稀疏矩阵的方法,该存储方式采用的是”链表+数组”结构,如图1所示。图1十字链表示意图可以看到,使用十字链表压缩存储稀疏矩阵时,矩阵中的各行各列都各用一各链表存储,与此同时,所有行链表的表头存储到一个数组(rhead),所有列链表的表头存储到另一个数组(chead)中。因此,各个链表中节点的结构应如图2所示:图2十字链表的节点结构两个指针域分别用于链接所在行的下一个元素以及所在列的下一个元素。链表中节点的代码可以表示为:typede.

  • 微信 接入机器人 java_Java版微信机器人代码

    微信 接入机器人 java_Java版微信机器人代码packagecom.eiyoung.wechat.web.controller;importjava.io.IOException;importjava.io.PrintWriter;importjava.util.Date;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;import…

  • request.getParameterValues与request.getParameter的区别

    request.getParameterValues与request.getParameter的区别一、简单的对比request.getParameter用的比较多,相对熟悉  request.getParameterValues(String  name)是获得如checkbox类(名字相同,但值有多个)的数据。  接收数组变量,如checkobx类型    request.getParameter(String  name)是获得相应名的数据,

  • VB程序设计教程(第四版)龚沛曾 实验8-2「建议收藏」

    VB程序设计教程(第四版)龚沛曾 实验8-2「建议收藏」VB程序设计教程(第四版)龚沛曾实验8-2将斐波那契数列的前10项写入文件Fb.dat,然后从该文件将数据读取出来并计算合计和平均数,最后送入列表框。要求:文件数据格式如2.8.2所示,列表框中项目格式如图2.8.3所示。…

  • fsd开机启动_怎么取消开机自动启动软件

    fsd开机启动_怎么取消开机自动启动软件一、vi/etc/rc.d/rc.local添加:/usr/local/nginx/sbin/nginx/usr/bin/fdfs_trackerd/etc/fdfs/tracker.confrestart/usr/bin/fdfs_storaged/etc/fdfs/storage.confrestart二、给rc.local赋可执行权限chmo…

    2022年10月19日

发表回复

您的电子邮箱地址不会被公开。

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