Articles of 星号

有人正试图访问我们的IP-PBX

我们在freePBX发行版上运行星号。 该系统只有一天的时间。 当我从terminallogin到星号时,系统产生了很多意外的消息,如下所示。 [2016-07-14 14:34:46] NOTICE[25546]: res_pjsip/pjsip_distributor.c:368 log_unidentified_request: Request from '"90" <sip:[email protected]>' failed for '91.236.74.186:5099' (callid: [email protected]) – No matching endpoint found [2016-07-14 14:34:46] NOTICE[21748]: res_pjsip/pjsip_distributor.c:368 log_unidentified_request: Request from '"90" <sip:[email protected]>' failed for '91.236.74.186:5099' (callid: [email protected]) – No matching endpoint found [2016-07-14 14:34:46] NOTICE[25546]: res_pjsip/pjsip_distributor.c:368 log_unidentified_request: Request from '"90" <sip:[email protected]>' failed for '91.236.74.186:5099' (callid: [email protected]) […]

无法通过星号呼叫

我想创build一个voip服务。我已经在一个专门的远程托pipedebian lenny发行版上安装了asterisk-1.4。 我做了一个sip.conf和extensions.conf,以便在两台SIP电话(我使用的是xlite 3.0)之间安装一些其他Windows PC电话。 每当我切换这个手机的星号控制台显示“注册从”“1000”“122.168.10.254”失败 – 对等不应该注册“其中xx.xx.xx.xx是服务器IP”即我的SIP电话无法注册到星号服务器,请帮我拨打两个SIP手机 #sip显示同龄人 名称/用户名主机Dyn Nat ACL端口状态 2000(未指定)D 0不受监控 1000(未指定)D 0不受监控 2 sip对等[监控:0在线,0离线不受监控:0在线,2离线] #sip显示registry 主机用户名刷新状态Reg.Time #sip显示频道 对等用户/ ANR呼叫ID Seq(Tx / Rx)格式保留上一条消息 0个活动的SIP通道 Sip.conf [一般] 上下文=默认 bindport = 5060 bindaddr = 0.0.0.0 [1000] 秘密= 1000 types=朋友 上下文=手机 主机=dynamic [2000] 秘密= 2000 types=朋友 上下文=手机 主机=dynamic extensions.conf文件 [一般] autofallthrough =是 静态=是 writeprotect = […]

VOIP停电策略

在过去的两年里,我们已经有4次4-6小时的断电事例 – 由于施工人员切断电源线,发生车祸,电线断线等。 我正在尝试制定一个策略/灾难恢复scheme,当电力超过20分钟时应该怎么做。 (即UPS单位排水)。 这个网站是一个拥有超过250名员工的本地企业。 VoIP电话应该考虑什么? 我应该添加模拟线到星号框还是浪费,因为星号框假定不工作? (电源closures) 我对硬件(Asterisk box)和networking基础设施有绝对的控制权。 这是一个直接连接到PSTN T1线路的现场VoIP网关。

星号幽灵电话

问题 我们有一个外部托pipe的Asterisk服务器。 在四个地方,我们已经得到了幽灵电话。 这些是不同的号码,如1000,9999或6060的呼叫。我们不使用这些数字,甚至没有这个范围。 注意:之前我已经提出了一个关于这个问题的问题 ,但是这并没有解决问题。 前一个电话(123)有这个问题。 这个电话是由雇主在家使用的。 我订了回来,给雇主一个新的电话号码(124)。 我在办公室连接了123电话,从来没有问题。 124电话在几个星期后开始出现问题,所以不是马上。 对我来说,这似乎是一个起源于员工家庭networking的问题。 我们在三个不同的家庭中遇到了这个问题。 所有这些用户在家中都有路由器,所以电话没有直接连接到互联网。 我们在办公室没有遇到这个问题,我想我们在那里有更好的保护。 问题不会永远停留。 他们来来往往,然后回来。 我查了几次Asterisk日志,但找不到任何相关的东西。 问题 我想知道这是如何工作的。 这些电话是来自这些雇主的家庭局域网吗? Asterisk服务器在这里扮演一个angular色吗? 什么可以导致这个? 这是在笔记本电脑上的恶意软件? 连接到这个电话,并导致电话认为打了电话是一个无耻的过程? 而且当然: 我们怎样才能摆脱这些电话?

我应该使用Asterisk GUI吗?

在不久的将来,我将要build立一个Asterisk盒​​子来处理我们办公室里所有的电话(一个linux软件开发者)。 我有一个戏剧,基本的设置似乎相当简单,复杂的东西可能。 我应该考虑使用诸如asterisk-gui或FreePBX的GUI吗? 一个GUI似乎想要configuration事情的“方式”,有时他们没有给我的细节水平,但他们确实很容易。 一个选项可能是基本上在GUI中设置系统,然后手动编辑configuration文件。 有人对这个有经验么?

在将要托pipe星号的服务器上安装操作系统GUI是一个不好的想法?

我们有一台我们计划安装CentOS 6.2的服务器。 服务器将为我们的办公室托pipeAsterisk,但不是一个Web服务器。 如果我们为CentOS安装了最小安装 – 也就是说,操作系统没有GUI,那么这就意味着Asterisk也不能和FreePBX或Elastix这样的GUI连接。 我发现这个线程有用的考虑: 我应该使用Asterisk GUI? 我的想法是为那些可能不得不接替Asterisk以及手动维护configuration文件的人提供GUI。 现在,我明白,没有GUI的情况下运行服务器会更好。 但是,如果它只是主持Asterisk,那么安装GUI还是一个坏主意?

星号服务器 – 不能进行连续的出站呼叫

我现在遇到的一个问题是,如果我从同一个电话连续呼叫星号服务器,它可能会断开连接。 星号logging以下消息: [Aug 14 10:24:56] NOTICE[20537]: chan_sip.c:19477 handle_request_invite: Failed to authenticate device <sip:[email protected]:5070>;tag=781ab8fb-co19342-INS016 这就像世界上任何一部电话只能拨打一次星号服务器。 那我需要做一个 > sip reload 从Asteriskterminal让他们再次呼入。 我也可以做一个shell命令来重新加载sip 星号-rx'sip reload' 但是,当我将这个命令添加到每分钟运行的crontab时,它不起作用。 shell命令只有在我手动运行时才起作用。 任何人都可以告诉我如何让呼叫者不止一次打电话给我的星号服务器? 这里是我的sip.conf和extensions.conf(所有其他文件未触及)。 sip.conf [general] register => mysipuser:mysippass@localhost:5071 context=default [mysipuser] type=friend secret=mysippass username=mysipuser host=111.111.111.111 port=5071 fromuser=mysipuser canreinvite=no insecure=very qualify=2000 dtmfmode=inband nat=no context=default extensions.conf文件 [default] exten => s,1,Answer exten => s,n,Wait(1) exten => […]

星号SIP中继和路由

我有两个基于星号的PBX,每一个都在不同的局域网上,两个局域网都与路由器相连。 第一个pbx是10.0.0.1/24,第二个是10.0.2.1/24。 这两个pbx都有自己的扩展名,扩展名之间的通话是完美的。 PBX1在不同的networking接口上有一个带有VoIP提供商的SIP中继。 PBX2没有任何连接到PBX1的干线应用程序。 我面临的问题是,当PBX2的用户拨打外线电话号码时,根据拨号规则,呼叫通过中继线路由到PBX1,PBX1又将呼叫路由到VoIP提供商,另一端在PSTNselect电话,…什么也听不到。 我debugging了这个问题,发现发生了什么事情是VoIP提供商正在向PBX2上的设备直接发送RTPstream量(在tcpdump上的udp数据包)。 由于VoIPnetworking和PBX2之间没有路由,所以stream量很大。 我的问题是:这是应该的工作方式吗? 我是否被迫确保任何两端都可路由? 它是否存在任何使PBX1作为代理工作的方式,以便只有PBX1才能访问VoIP提供商? 我使用星号1.4。 谢谢你的帮助。

Asterisk的phoneprov模块可以安全使用吗?

我使用由Ubuntu Server 16.04打包的Asterisk 13.1.0来运行纯VoIP电话系统。 Asterisk有一个模块 – phoneprov – 允许它模板化特定线路的configuration文件,并从内置的HTTP服务器提供服务。 我想用它来configuration我的Polycom IP电话,但我无法弄清楚如何安全地进行操作。 更复杂的事情,我已经使用内置HTTP服务器的SIP通过WebSockets。 据我所知, phoneprov模块根本没有authentication或授权机制。 这似乎只是服务任何人谁问的文件。 由于生成的configuration文件包含注册为一条线路所需的所有凭证,因此任何可以向内置HTTP服务器发出HTTP请求的人都可以通过phoneprov注册为任何行。 这似乎太明显的安全问题存在于软件中,像Asterisk那样高调地存在,在文档中甚至在互联网上甚至(据我所知)都可以窥探它。 我在这里错过了什么? TLS相互authentication 至less在我看来,理想的方式是通过TLS客户端证书来validation硬件IP电话的供应。 几乎所有的主要制造商都会在他们的手机上发布一个由私人CA签署的客户端证书,该证书通过MAC地址来识别手机。 由于configuration文件也是由MAC地址提供的,因此将证书中的MAC与URL中的MAC进行匹配并以此方式控制访问是非常简单的。 这就是我的基于nginx的configuration服务器(它处理除了线路凭证以外的所有configuration)。 但是,Asterisk不支持TLS客户端身份validation。 它有一个TCP和TLS套接字侦听器的通用实现,并且通过阅读源代码证实它不支持请求客户端证书。 更正 :Asterisk的tcpctls系统确实支持客户端证书validation,但是它只能validation客户端证书是否有效,并且(可选)它的commonName匹配客户端的主机名。 虽然可以为Asterisk HTTP服务器启用该选项,但对保护phoneprov没有多大帮助,因为该模块不使用主机名(或其他任何名称)进行授权。 它也会通过WebSocket破坏SIP。 HTTP身份validation 如果无法使用TLS身份validation,则使用HTTP基本身份validation来保护对configuration文件的访问是有意义的。 访问configuration服务器的证书本身必须以某种方式进行configuration,但总比没有好。 不幸的是,我已经通过阅读源码来确认,虽然Asterisk的HTTP服务器支持HTTP基本authentication,但是phoneprov模块并没有使用该function。 通过反向代理validation 如果Asterisk无法对自身的请求进行身份validation,那么我希望在请求连接到Asterisk之前使用像nginx这样的反向代理来处理身份validation。 这对我来说尤其方便,因为我已经configuration了nginx来authenticationconfiguration客户端。 不幸的是,这种方法有两个主要问题: 首先,Asterisk不支持X-Forwarded-For头部或者在逆向代理之后使用的任何其他方式发现真正的客户端IP地址。 我已经通过检查源代码来确认这一点。 使用反向代理时,Asterisk中的所有请求将显示为127.0.0.1 。 这不会是phoneprov ,但是基于WebSockets的SIP实现位于同一台服务器上,而不正确的客户端IP地址会导致严重的SIP问题。 没有办法将SIP over WebSockets服务器与phoneprov服务器分开,并且phoneprov服务器不能暴露于Internet或反向代理服务器毫无意义。 其次,即使客户端IP问题不成问题,也很难保证对Asterisk HTTP服务器的本地访问,因为它只支持在TCP套接字上侦听。 在使用反向代理进行身份validation时,需要保护代理和后端之间的连接,以防止攻击者绕过代理。 当代理和后端在同一台计算机上时,通常使用UNIX域套接字进行连接,以便使用文件系统权限进行保护。 这种方法对于Asterisk来说是不可能的,而且很难确保TCP套接字(即使是绑定到127.0.0.1 TCP套接字)被未​​经授权的本地进程(如受到威胁的PHP应用程序)访问。 完全避免使用HTTP phoneprov模块也支持将其生成的文件导出到文件系统。 […]

如何在Asterisk中检测呼叫转移?

基本上,我想要做和Google Voice一样的事情。 我把我的电话转给一个DID号码,这个号码通过IAX2打给我的Asterisk服务器,如果它检测到呼叫已经被转发,就把它发送到语音信箱。 否则,如果通话没有被转接(有人拨打了DID号码),它会拨打我的电话号码并尝试联络我。 tl; dr :如何检测到呼叫已转发到我的星号框?