如何使用 C# 构建软件电话(使用 SIP 协议)[关闭]

2023-11-21

我面临的挑战是使用 C# 或 .net 技术构建 sip 软电话。

请指导我构建此类所需的技术、要求和规范。

可能的要求:

支持的编解码器:

G.722.1、G.723.1、G.726、G.728、G.711、G.729、G.723.1、iLBC、:G.711(A 和 m 律)、G.729A/B/D/ E、AMR、GSM 6.10/EFR、iLBC、Speex

  • Voice:

    实时质量监控 (MOS) 3 独立电话线
    自动应答/请勿打扰呼叫
    转发全双工音频
    录音压缩音频数据。

  • 完全兼容 SIP 的软件电话/拨号器 适用于 PC2Phone 和 Mobile2Phone (iPhone、诺基亚 N95)应用程序 symbian s60 ,完整源代码应该 提供。

  • 兼容Windows 2000/XP/2003/Vista/Mac

  • NAT/防火墙穿越功能

  • 可与任何第 3 方 SIP 服务器配合使用

  • 支持SIP出站代理

  • 显示来电者账户余额

  • 显示通话积分时间

  • 自动回声消除

  • 自动抖动缓冲调整

  • 最后号码 重拨

  • 最后拨打的 10 个号码的历史记录

  • 快速拨号用户列表

  • 只为客户快速提供 需要用户名和密码


Konnetic 为 .NET 开发提供完全托管的 SIP 组件。

Their SIP .NETSDK 可以在这里找到,并且可能是最全面的。他们还提供建议零售价库。

另外,Microsoft 的 Lync 服务器附带了一个非常好的托管 SIP 库,可在此处获取:www.microsoft.com/en-us/lync/default.aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 C# 构建软件电话(使用 SIP 协议)[关闭] 的相关文章

随机推荐

  • 内核崩溃后获取 Linux 内核调试信息

    有没有办法在内核崩溃发生后获取内核以前的调试信息 我正在尝试开发一个内核模块 它基本上捕获内核网络堆栈内IP层中的IP数据包 经过一些修改后 我必须将相同的数据包发送回NIC进行传输 在所有这些过程中 我在以下的帮助下编写调试信息print
  • 在div中隐藏滚动条

    有没有办法使用CSS隐藏滚动条同时仍保留其功能 甚至使其透明或与背景颜色相同也可以 我必须在 JavaScript 中执行此操作吗 className overflow auto overflow y hidden 我相信用户必须使用鼠标滚
  • 当绑定的列表视图没有项目时显示一些文本

    以下是我的列表视图的语法 它绑定到一个类
  • 在 FreeAndNil 之后使用对象时会发生什么?

    在我的Delphi7中这段代码 var MStr TMemoryStream FreeAndNil MStr MStr Size 0 生成 AV 模块 Project1 exe 中地址 0041D6D1 处的访问冲突 读取地址 000000
  • HttpListener 服务器标头 c#

    我正在尝试为个人项目编写一个 C http 服务器 我想知道如何将返回的服务器标头从 Microsoft HTTPAPI 2 0 更改为其他内容 public class HttpWebServer private HttpListener
  • 使用单击一次部署时出现安装问题

    我有一个 Wpf 应用程序 我希望将其部署在远程服务器上 以前我使用 VS2010 因此创建 setup msi 文件并部署到其他计算机上会很容易 目前我有VS2012 它没有设置部署选项 另外 我还阅读了有关 clickonce 应用程序
  • 如何在iOs中将UITabbarController添加到UIViewController

    如何用TabbarController推送Viewcontroller 在Viewcontroller XIB中 我创建了UITabbarController 然后我推送这个ViewController 但它没有出现UITabbarCont
  • 在 Java 中转义 SQL 字符串

    背景 我目前正在为企业 CMS 数据库 业务对象 开发 Java 前端 目前 我正在构建一个功能来允许用户构建自定义数据库查询 我已经实施了措施 以确保用户只能使用已批准用户访问的可用列和运算符的子集进行选择 例如 可以选择 SI EMAI
  • 将 string 转换为 int 而不丢失开头的零

    I tried int parse 和convert class 将字符串转换为int 当我正在转换时 我一开始就失去了 0 这是我不想要的 例如 09999 变成 9999 我不想要这个 我想保持原样 我怎样才能做到这一点 myNumbe
  • 任何编程语言中的变量名是否占用内存空间

    e g int a 3 1 and int a long variable name used instead of small one 3 2 1 和 2 哪一个将获得更多的内存空间或将获得相等的空间 在 C 和大多数静态编译语言中 变量
  • CollapsingToolBarLayout 与 TabLayout 和 ViewPager

    我尝试使用 CordinatorLayout 和 CollapsingToolbarLayout TabLayout 和 ViewPager 创建类似于图像中的布局 我的布局无法正确呈现 这是我的布局
  • 无法加载此类文件——rack/handler/puma

    我的设置和错误 当我使用rackup 和puma 启动Sinatra 应用程序时出现错误 我的config ru文件看起来像这样 s puma require controller main rb run Sinatra Applicati
  • JAXB 用于自然返回 JSON 或 XML 的列表

    我使用 MOXy 和 Jersey 来实现 RESTful API 并希望自然地返回 JSON 和 XML 的列表 这意味着 XML 包含整个集合以及集合项的元素标签 而 JSON 包含仅用于收藏的标签 例如 我想返回带有嵌套的设施和位置列
  • 从 Javascript 中的对象中删除空白属性

    如何删除所有属性undefined or null在 JavaScript 对象中 问题类似于this one对于数组 ES10 ES2019 示例 一个简单的单行代码 返回一个新对象 let o Object fromEntries Ob
  • T SQL 条件字符串连接

    有5列地址数据 我需要将这些字段连接成一个地址 并且值之间存在空格 如果存在 如果该列有空值 我应该跳过它并且不输入任何空格 select case when street number THEN cast street number as
  • boost::lexical_cast<> 的语言环境不变保证

    我在用着boost lexical cast
  • 为什么 Input onChange 的行为类似于 ReactJs 中的 onKeyDown?

    在下面的示例中 onChange每次用户输入字母时都会触发事件 例如onkeydown事件 这是正常行为吗 import React from react export default class Form extends React Co
  • 未找到 Conda 命令

    我已经安装了迷你康达并添加了环境变量export PATH home username miniconda3 bin PATH to my bashrc and bash 配置文件 但仍然无法在我的终端中运行任何 Conda 命令 我的设置
  • 使用冒泡排序对 int 数组进行排序

    为什么我打印出来的数组没有在下面的代码中排序 public class BubbleSort public void sortArray int x go through the array and sort from smallest t
  • 如何使用 C# 构建软件电话(使用 SIP 协议)[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我面临的挑战是使用 C 或 net 技术构建 sip 软电话 请指导我构建此类所需的技术 要求和规范 可能的要求 支持的编解码器 G 722 1 G 723 1 G 726 G