Articles of sip

Freeswitch:使用Sipml5进行呼叫时audio握手失败1错误

我刚刚安装了FreeSwitch,并成功连接到用户1001的服务器。 详情 – > OS – Ubuntu 12.04 LTS 64位 FS – 1.5.13b + git〜20140614T114905Z〜fc7a74905b〜64bit OpenSSL – 1.0.1 铬 – 31,35 webrtc已启用。 websocket – ws://192.168.32.181:90​​66 出站代理 – udp://192.168.32.181:5060 情况1 – 从浏览器调用(Sipml5)到闪烁[1001 – > 1005] 响铃,但立即终止。 它会抛出错误 – > [ERR] switch_rtp.c:2746 audio握手失败1 这是FS的控制台输出。 2014-06-15 17:46:53.169179 [CONSOLE] mod_voicemail.c:4066 Event Thread Started 2014-06-15 17:46:57.709189 [NOTICE] switch_channel.c:1053 New Channel […]

用于VOIP的SIP中继在SonicWALL后面

我很欣赏这个问题是相当“外面的”,但是 – 在SonicWALL后面,有任何人都可以通过SIP获得VOIP的成功。 我们遇到单向audio入站的问题。 从本质上讲,打电话(或打电话)的人可以听到我(从集团电话在同一局域网上的电话),但我们听不到他们。 数据包捕获显示RTPstream量回到了Sonic,并且被送往PBX,但是它根本无法达到它。 我的理解是SonicWALLs使用对称NAT,这是STUN不适用于这种types的NAT的问题。 有没有解决办法或任何人在这里取得任何成功?

通过NAT连接P2P?

我开始探索与其他使用p2p连接连接的选项,所以我编写了一个简单的套接字程序在JAVA中的Android设备,其中用户可以在其中分享简单的消息p2p(我对NAT没有任何的想法然后)。 我已经了解NAT,所以现在我需要build立一个TCP连接与另一个用户使用服务器进行发现,但有效载荷传输到P2P。 我也看过XMPP(一个非常好的和详细的解释协议如何工作在这里 )和UPnP,但我不知道如何实现它们。 出现的另一个有趣的问题是BitTorrent,因为它们可以在任何设备上工作,甚至在NAT后面工作。 我无法得到有关BitTorrent如何工作的任何解释。 我已经研究了很多,但我卡住了。 我的问题是: BitTorrent的详细解释(像这里 ,不是如何山洪工作),以及如何能够解决NAT? 有没有办法使程序化的NAT条目? 套接字编程是否足够用于p2p? 创build自己的协议有多难?我该如何创build协议? 如果两个设备D1和D2想要通信P2P并且他们知道彼此的IP。 D1发送一个请求到D2,并且不能通过D2的NAT,但是应该在D1的NAT中创build一个条目。 所以当D2试图发送一个D1的NAT应该发现一个D2的IP入口。 那为什么这个包不被它允许? 编辑: 在networking上讨论的用于解决NAT的一种方法是使用SIP。 这已经适用于Bleep,但我无法findnetworking上的任何实施。 有人能解释一下SIP是如何工作的吗?

Ucce 8.5 ICM – 如何在ICM脚本中提取SIP标题

我们正在从CVP Ops控制台收集sip头文件。 我们使用的是设置variables mid(call.sipheader,Startlocation,Length) 如果string长度改变,则值不正确。 有没有一种方法来提取使用sipheadervariables名称直接? 例如: call.sipheader.someheader

CGNAT后面的Linphone iOS设置错误的联系人标题

我们在Verizonnetworking上使用iOS上的Linphone客户端。 我们的客户端在200 OK消息的Contact头发送错误的IP地址作为对来自Asterisk的INVITE消息的响应。 SIP跟踪 我们的客户端的正确公有IP地址是70.214.115.17,因为它显示在IPv4源上。 我们发现这个问题,在联系表头上,我们要求Asterisk回复我们IP地址100.93.81.213。 由于这个IP地址是不可访问的,我们的客户端永远不会收到来自Asterisk的ACK响应。 结果,我们的呼叫(连续不能接收ACK消息)在32秒内被终止。 根据IANA的说法,这个IP地址被用于CGNAT目的。 这个问题并不是每一次都出现,而是随机出现的。 我们将不胜感激您的任何协助。

Kamailio作为纯TCP的SIP注册和中继

我有一个相当复杂的设置,我想运行一个SIP服务器。 一般来说,我想在内部networking上运行一个仅支持IPv6的Kamailio SIP服务器,并且让外部SIP客户端能够通过纯IPv4networking向内部进行呼叫。 这是设置: 所以,问题是我无法通过IPv4访问其他networking中的任何设备。 使用Kamailio服务器的networking具有IPv6连接,但可以通过互联网上的其他IPv6networking访问。 但是,我想通过在路上/不在办公室上的Android上的SIP-App(特别是Mizudroid,但无论什么作品,甚至是原生的Android客户端都适合我)连接到SIP服务器。 不幸的是,移动networking是纯IPv4的,而且大多数WiFinetworking都是纯IPv4的。 我find了一个服务提供者,但是( https://myonlineportal.net/portmapper )可以作为特定端口上的IPv4到IPv6网关。 也就是说,如果你在portmapper.myonlineportal.net:12345上连接到这个服务,它会把这个stream量转发到[你的ipv6]:5060(5060可以是你喜欢的,但5060是SIP)。 缺点是只能提供TCP连接。 无论如何,我设置了Kamailio服务器,configuration它,IPv6networking内的客户端可以打电话,也可以相互通话。 问题出在外面的客户。 他们可以连接到Kamailio,他们也可以打电话给内部的人。 但在接听电话后,连接失败,通话中断。 另外,从内部到外部的呼叫不起作用,来自软电话“PhonerLite”的错误消息是“477:不幸的是发送到下一跳发生错误(477 / SL)”。 不幸的是,我对SIP协议不太熟悉。 据我所知,Kamailio只是一个告诉Caller1如何到达Caller2的“经纪人”。 这里的问题可能是,只有一个端口通过端口映射器连接到Kamailio服务器。 即使我将每台设备都设置为使用TCP作为传输协议。 我想知道这是否可能? 如果Kamailio不只是注册服务商,而且还充当接力/代理,我认为它可以工作? 所以外面的电话不应该是dev-dev-dev,而应该是dev-kamailio-dev。 如果由于使用TCP而导致延迟,那么对于我的应用程序无关紧要。 此外,使用外部服务是不行的,因为最终将把Kamailio服务器与固定电话networking结合起来。 我也很乐意听到其他build议。 请记住,Kamailio服务器和路由器也可以通过Internet从互联网访问,而移动设备只有IPv4连接! 任何帮助深表感谢!

获得SIP,RTP和NAT的权利:谁在做什么?

我有点困惑谁是(PBX vs.手机)在我们的IP电话设置中做了什么。 我们有我们的电话系统托pipe外部。 这意味着我们已经在我们的位置安装了物理IP电话,但PBX位于其他地方。我们遇到了各种各样的麻烦,这使我很烦恼,我无法正确地解决各种问题,由于其实我不明白这是怎么一起工作的。 我一直在阅读SIP和RTP如何工作,但还有一些我还没有完全得到的东西。 我的问题涉及到SIP和RTP,但也涉及到NAT。 我们的场景很简单。 集团电话可以在互联网上的某个公共IP上访问。 我们在防火墙后面(NAT)。 首先,我的理解是SIP包不携带audio。 他们只是为了确保在电话和PBX之间build立会话(如在会话初始协议中),例如在即将build立呼叫时。 这些数据包通常是UDP,并且通常在端口5060上“传播”。 虽然不具体到SIP; 当SIP UDP数据包通过NAT时,NAT 会将源端口转换为与传出数据包不同的东西 ,以确保NAT可以将响应映射回NAT后面的正确的电话。 现在,如果有人想联系我们的某个电话,他们会拨打该号码,最终打到PBX。 这是我的理解,PBX然后发送INVITE(SIP UDP数据包)到有问题的电话。 该数据包包含IP地址和电话应连接的端口号,以build立RTP会话(这是实际的audio数据)。 问题1 :我听说电话必须定期向PBX发送保持活动请求,以确保NAT不会过期UDP会话。 这一点很重要,因为PBX启动对呼叫的INVITE请求,并且NAT不能过期UDP会话,以便将任何给定的INVITE请求映射到正确的电话。 这是正确的吗? 是否有任何来自PBX的INVITE请求使用来自电话的保持活动请求中提供的源端口(将通过NAT进行翻译)? 问题2 :手机是否对任何给定的INVITE SIP请求起作用并连接到集团电话? 这意味着我不应该在这里担心NAT,因为电话会发送第一个RTP数据包,并在NAT中“打孔”。 问题3 :“相反”是如何工作的? 也就是说,如果我想从位于NAT后面的某个电话呼叫某个人,我的电话是否向该PBX发送了一个INVITE SIP请求? 这对我来说是没有意义的,因为PBX不能和我的手机build立一个RTP会话。

从接口转发所有stream量到内部IP地址

我们有一个新的SIP中继设置,并连接到我们的Mikrotik路由器,我需要将来自int ETH2的所有stream量转发给我们的拨号服务器的VM的内部IP地址(VM主机连接到Eth5)。 我怎样才能在Winbox中设置? 我需要将Eth2的所有stream量转发到Eth5,然后使用NAT规则将stream量发送到内部IP地址?

使用星号作为客户端充当软电话

我有一个vonage的帐户,我可以通过我的电脑打电话给我的软电话( zoiper )input以下信息: 当input信息(域名,用户名和密码)到我的软电话设置,我可以拨打电话,也可以接收。 在这一点上,一切都很好 现在我的问题是如何使用从vonage得到的相同信息从星号打出站电话? 我想我的软电话连接到星号,然后星号进行呼出。 这是我曾经试过的: 这是我的sip.conf的样子: [general] tcpenable=yes etc….. [SoftPhone1] secret=MySecretPassword context=MainContext type=friend disallow=all transport=udp,tcp etc… [vonage-test] type=peer host=sip-55623.accounts.vocalocity.com secret=********* username=VH283034 disallow=all allow=ulaw transport=udp,tcp dtmfmode=auto insecure=invite 和我的extensions.conf [general] static=yes etc… [MainContext] ; this is the context where SoftPhone1 is registered exten => 100,1,NoOp(Testing to see if we can make outbound call) ; […]

这是否遵循SIP标准?

我们目前正在使用一个Swyx PBX,它使用SIP连接到OneAccess盒(翻译ISDN < – > SIP)。 我们有麻烦,使其工作。 这是交易: Box使用端口5060上的SIP协议与Swyx进行通信。 他们可以握手,我们可以在外面打电话。 但是,当人们试图打电话给我们,这是行不通的。 实际上,当进入呼叫时,OneAccessBox尝试使用5060端口联系Swyx,但Swyx使用此端口处理硬件电话,并且无法将Oneaccess识别为内部电话,则拒绝连接。 在查看跟踪时,看起来Oneaccess Box正在发送“SIP请求选项sip:_IP_OF_SWYX:65002”,而Swyx则通过200 OK应答。 虽然我认为这意味着它要求Swyx使用该端口,但一个访问使用5060。 我是否假设这意味着“SIP请求选项sip:_IP_OF_SWYX:65002”是使用65002端口来处理通信? 因此,OneAccess框是否遵循SIP标准? 谢谢你的时间。