思科可视消息等待指示器(VMWI 或 MVI)

2023-12-23

如何以编程方式点亮 Cisco IP 电话可视消息等待指示灯(VMWI 或 MWI)?

对于 sipwiz 的回答:

IP地址10.1.1.2=> 是我将在其中发送 SIP 通知消息的本地 IP

IP地址10.1.1.9=> 是 IP 地址思科电话我将发送 SIP 消息

我发送 SIP 消息的 Cisco 电话确实“关心”我的消息,并且我 当我尝试从 Cisco 电话获取响应消息时出现异常:“An 现有连接被远程主机强制关闭”。

实际上,直接向 Cisco Phone 发送 SIP 消息来改变其行为似乎并不正确。因为它容易出现许多安全违规行为。而且我认为 Cisco 不会允许这样做。

“sipwiz”我需要在 Cisco Phone 上进行额外配置才能使 这个功能有用吗?你真的能够让它在真实的环境中工作吗 思科电话?如果是这样,您在电话上进行了哪些额外配置?


下面是一些构建虚拟 SIP NOTIFY 请求的粗略代码,该请求可以发送到 Cisco IP 电话(仅使用 Cisco 7960 进行测试),从而允许设置和取消设置可视消息等待指示器。

您需要更改 sip:[电子邮件受保护] /cdn-cgi/l/email-protection到您的 Cisco 电话可识别的 SIP URI。当然,还要根据需要调整 IP 地址和端口。

Update:更新了代码示例,使其更清楚 IP 地址需要出现在 SIP 请求中的位置。

using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Sockets;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Cisco MWI Test Console:");

        string setMWIRequest =
            "NOTIFY {0} SIP/2.0\r\n" +
            "Via: SIP/2.0/UDP {1}:{2};branch=z9hG4bK{3}\r\n" +
            "To: <{0}>\r\n" +
            "From: <{0}>\r\n" +
            "Call-ID: {4}\r\n" +
            "CSeq: 1 NOTIFY\r\n" +
            "Max-Forwards: 70\r\n" +
            "Contact: {1}:{2}\r\n" +
            "Content-Length: {5}\r\n" +
            "Content-Type: application/simple-message-summary\r\n" +
            "Event: message-summary\r\n" +
            "\r\n" +
            "{6}";

        string mwiBody = "Messages-Waiting: no"; // Change to no to unset MWI.

        var localSIPEP = new IPEndPoint(IPAddress.Parse("192.168.33.116"), 5091);
        Socket udpSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
        udpSocket.Bind(localSIPEP);

        setMWIRequest = String.Format(setMWIRequest, "sip:[email protected] /cdn-cgi/l/email-protection", localSIPEP.Address.ToString(), localSIPEP.Port, Guid.NewGuid().ToString().Replace("-", ""), Guid.NewGuid().ToString().Replace("-", ""), mwiBody.Length, mwiBody);

        byte[] buffer = Encoding.UTF8.GetBytes(setMWIRequest);

        Console.WriteLine("Sending to Cisco:");
        Console.WriteLine(setMWIRequest);

        udpSocket.SendTo(buffer, new IPEndPoint(IPAddress.Parse("192.168.33.155"), 5060));

        byte[] recvBuffer = new byte[4096];
        int bytesRead = udpSocket.Receive(recvBuffer);

        Console.WriteLine(Encoding.UTF8.GetString(recvBuffer.Take(bytesRead).ToArray()));

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

思科可视消息等待指示器(VMWI 或 MVI) 的相关文章

  • 在 AVD 上运行 SIP 演示 Android 平台 2.3

    Android 2 3平台包含一个SIP演示项目 我想在两个 AVD 上测试这个项目 而不是在真正的 Android 设备上 我真的不知道如何继续 From 测试 SIP 应用程序 测试 SIP 应用程序 要测试 SIP 应用程序 您需要以
  • Android 上的 VOIP 库或示例代码

    提前致谢 我正在 Android 上开发 VOIP 应用程序 是否有任何开源代码 库或示例应用程序可供 VOIP 软件开发人员快速创建 VOIP 应用程序 提前致谢 其实我不知道使用过程voip在android应用程序中 那么如何在应用程序
  • TAPI 的替代技术?

    是否有支持第三方呼叫控制 3pcc 的 TAPI 替代技术 我想在应用程序中提供以下 3pcc 功能 拨出电话 用户单击应用程序中的按钮 用户的电话摘机 被叫电话振铃 被叫者的电话显示被叫者的电话号码 而不是用于应用程序的电话号码 当被叫者
  • VoIP 通知证书主题必须以“.voip”结尾,设备令牌应用程序包以“.voip”结尾

    我在 twilio 中遇到错误 说 VoIP 通知证书主题必须以 voip 结尾 设备令牌应用程序包以 voip 结尾 当我检查类似的问题时发现解决方案是更改 解决方案是 BundleID voip 我尝试在developer apple中
  • 如何使用 Visual Studio 2015 构建 PJSUA2 (swig)

    我尝试为 Python 编译 PJSUA2 我可以设法使用 Visual Studio 2015 社区版编译源代码 我的问题是 现在如何安装Python模块 该指南建议使用 make 和 make install 我也尝试安装 minwg
  • Callkit - 如果从后台开始通话则没有音频

    从 iOS 13 3 1 开始出现这种情况 在我的应用程序中 我使用 Callkit WebRTC 建立 VOIP 连接 我总是能够毫无问题地建立连接 但是 从 13 3 1 开始 如果应用程序不在前台 我将无法启动 Callkit 调用
  • Android视频通话使用android的sip

    我想在android 中开发一个视频通话程序 我想到使用android 2 3 3中引入的内置sip 但如何发起视频通话呢 我看到它不受支持 我相信通用 Android SIP 堆栈支持视频 取自 https developer andro
  • Android 中通过 SIP 进行视频通话

    我是 Android 初学者 正在开发一个可以使用 SIP 通过 IP 进行视频通话的应用程序 我在 Google 和 StackOverflow 上搜索了很多 得到的只是我需要一些 Native Library 而我对它没有太多了解 我关
  • Siri 无法在现有项目中运行

    我必须使用 Siri 通过我的应用程序发起 VoIP 呼叫 它在演示项目中工作 但当我将意图扩展添加到现有项目中时 Siri 不再工作 在系统设置中 我的应用程序未显示在应用程序支持部分中 Plist配置如下 另请参阅扩展的 plist 配
  • SIP 中会话、对话和事务之间的区别?

    会话 对话和事务之间到底有什么区别 所有人都必须一起出现吗 交易 事务由请求 收到的任何非最终 1xx 响应和最终响应 2xx 3xx 4xx 5xx 或 6xx 以及响应的确认 ACK 或 PRACK 组成 但以下内容除外 对 2xx 响
  • 错误:找不到与给定名称匹配的资源(在“主题”处,值为“@style/AppTheme”)

    给我错误 我尝试了一切 2014 11 15 17 56 06 登录活动 C Users Different workspace LoginActivity AndroidManifest xml 15 错误 错误 找不到与给定名称匹配的资
  • 取消 iOS8 中的横幅通知不起作用

    我的标题可能无法准确描述我的问题 所以我很抱歉 我一直在寻找创建此级别功能的解决方案 但我无法找到它 我正在为 iOS 8 创建 VoIP 应用程序 当用户接到电话时 我将显示一条带有 12 秒铃声的通知 当此通知正在进行时 如果呼叫断开
  • 如何使用 Twilio 拨打实时语音电话,而不仅仅是在接听电话时播放 MP3?

    为了通过 Twilio 从笔记本拨打电话号码 我创建了 ASP NET MVC 5 2 应用程序 我可以拨打一个号码并接听电话 但我不知道如何实现实时语音 能够通话 连接 而不仅仅是播放音乐 我在里面创建了一个动作方法HomeControl
  • 使用 sip.js 录制 SIP 通话中的麦克风和音频

    晚上好 堆栈溢出 我的一个项目确实需要帮助 我在该项目中使用 sip js 和 VoIP 来拨打电话号码 The Goal 我想允许用户录制音频和麦克风并将数据保存在服务器上 以 base64 编码或作为文件 因此 对话结束后我可以再次听到
  • 捕获 VPN 使用统计数据

    我们正在使用 NET 2 0 中的 NetworkInterface GetIPv4Statistics 来监视网络接口的使用统计信息 这不会报告 VPN 流量通过隧道传输的连接的正确统计信息 相反 对于 Cisco VPN 客户端 其使用
  • 来电时无振铃事件

    我不知道哪里出了问题 听者听不懂onRinging事件 这样我就可以决定接受还是拒绝来电 清单中是这样的
  • 使用 Twilio 和 SIP 进行 SMS 消息传递

    我正在尝试使用 Twilio 在我的 iPhone 上发送和接收短信 我已设置呼入和呼出呼叫遵循这些说明 https stackoverflow com questions 48346740 how do i forward a twili
  • 使用android的sip进行Android音频通话

    我为客户开发了一个使用 sip 进行互联网呼叫的应用程序 为此 他向我提供了两个有效的 sip 用户 ID 和密码 我正在使用 SIP API 进行 SIP 实施 客户说呼叫无法进行 当他使用自己的帐户登录时 他没有收到任何有关未接来电的通
  • SIP:错误数据连接丢失

    我已经在 android 中使用本机 sip 创建了 sip 应用程序 在其中 我在从 sip 服务器取消注册帐户时遇到问题 每次我得到数据连接丢失我也在android文档中看到 但没有对此错误的简短解释 而且它在注册时面临各种错误 如in
  • 适用于 iPhone 和 Android 的 sip 堆栈

    我正在寻找适用于 Android 和 iPhone 的 SIP 堆栈 我发现了很多类似的问题 有时已经很老了 我不太关心解决方案是商业的 但这是首选 还是开源的 到目前为止我发现 RADVISION 的 Android 商业解决方案 iPh

随机推荐