【问题标题】:Dialing a SIP extension in PHP在 PHP 中拨打 SIP 分机
【发布时间】:2018-05-18 22:32:24
【问题描述】:

任何想法如何从 PHP 脚本中拨打 sip:5555@192.168.55.5:5060 并将此呼叫保持在计时器上,例如 60 秒?这个电话不会打到外面的世界,也不会有声音。它只需要 60 秒的“固定”连接。它命中同一子网上的内部应用程序 (IVR),它只是在调用 PHP 脚本时启动 IVR 应用程序所需要的。关于这个主题的其他一切都是人们想要进行实际语音呼叫或连接到 SIP 提供商或使用他们的提供商库或 API 来幻想现实世界的事物。不需要任何这些,因为电话不会离开它来自的同一台服务器。不应该很简单吗?

【问题讨论】:

  • 好的,照他们做的,只是省略涉及发送音频的部分。

标签: php sip pbx


【解决方案1】:

我明白了。我想做的一切都在“Twinkle”SIP 软电话中,然后单击以调用它们并从中获取 PHP 代码。只需硬编码他们花哨的 PHP 脚本来拨打一个号码(而不是等待输入)并通过 http 调用执行它以激活它。美丽的。看,其他人都允许你下载 API 或“图书馆”,这些 API 或“图书馆”只能在他们的付费服务中使用。我不想给外面的世界打电话,我也不需要谈论这件事。只需拨打您自己网络上的电话分机号,而不是他们的电话号码分机,并保持通话不变。

【讨论】:

    【解决方案2】:

    它只是打开一个套接字连接并发送正确的有效负载。

    有关播放负载,请参阅https://stackoverflow.com/a/42138141/151097
    在 php 中使用套接字见http://php.net/manual/en/book.sockets.php

    【讨论】:

    • 我需要建立一个完整的 SIP 对话来保持通话。邀请、尝试、响铃、确定、确认(用于提供/协商的早期 SDP)然后打开 RTP 路径/端口并在 ipv4=0.0.0.0 中将呼叫保持 60 秒以保持。当我开始思考 SIP 的工作原理时,它的意义比我想象的要多。对?我对 PHP 的了解不够了解它的套接字。你给我的那个链接,他发送了精心构造的邀请,我想我可以从中学习。我是否走在正确的轨道上,因为它与让 PHP 做这件事有关?我需要在 PHP 中构建一个完整的 SIP 对话框吗?
    猜你喜欢
    • 1970-01-01
    • 2020-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-22
    • 1970-01-01
    相关资源
    最近更新 更多