我正在尝试实现从HTML sip客户端连接的SIP服务器(使用SIPML5制造).在我的研究过程中,我遇到了sip,这对我可能很有用,但是,我不确定通过web-sockets连接到兼容服务器的用户代理是否会成功地使使用不兼容的服务器对某人的调用(即,从web-sockets访问web-sockets到true SIP). 我知道webrtc2sip可用于连接到旧网络,但我宁愿避免使用另一个代理.因此,是否可以使用web-sockets上的SIP连接到兼容SIP服务器,然后从此用户代理呼叫到另一个不支持SIP的不使用gateway的SIP? 解决方案 您是对的,Websockets上的SIP是草稿,而不是规格.而且我不知道许多支持此草稿的sip供应商. 可能的解决方案是真正的Websocket-SIP网关.例如,FlashPhoner Web调用服务器是作为网关实现的,该网关可通过浏览器的Websocket工作,并通过SIP(TCP和UDP)与SIP服务器一起使用.因此
以下是关于 sip 的编程技术问答
Android上的可用API或现有技术是什么,可以帮助一个人使用Internet进行呼叫,更像VoIP.我在线查看了文档,包括 this . Kinda混淆了从哪里开始.谁能提供更好的指南?谢谢. 解决方案 PJSIP是Android上可用的媒体库之一.您可能需要搜索与本机Android SIP API的谷歌搜索和缺点,并根据您的项目选择一个. 还有其他一些,但是PJSIP是一种全面的解决方案. 其他解决方案 在Android上有足够的支持.您可以尝试以下选项 对于Android 2.3或更高版> pjsip (示例Android的实现项目为 csipsimple ) mjsip (example for Android的实现项目是 sip droid ) doubango (示例Android的实现项目为 imsdroid ) linphone 我几乎使用了上述所有内容,它们都很好,并且做了预期. 市场上也有很多付费SDK承诺为您完成这项
假设我需要在网站上实现回调服务. 我很好奇是否可以使用Twilio开发它. 例如,如果网站访问者从另一侧提供他的手机号码,我将使用他的Web CRM应用程序经理.有可能: 呼叫(使用WEBRTC?)给经理 当经理回复来电时,请致电网站访问者(在他的手机上) 将两侧连接在一起 我知道有很多现成的回调服务,我只是好奇它是如何在引擎盖下工作的. 解决方案 Twilio开发人员在这里. 这是我们调用单击调用的功能.这是与Twilio一起使用的方式: 访客通过网站上的表格提供他的电话 使用Twilio Rest API 当呼叫连接到经理时,请拨打访问者. 这是使用 twiml 呼叫连接,Twilio向您在步骤2中提供的URL提出HTTP请求 url需要用twiml做出响应,这是xml的子集,告诉twilio如何处理呼叫 在这种情况下号码 当访问者回答两者时,两者已连接 这是对此的高级视图,我们还拥有教程witch you click
我一直在试图对正在进行的电话进行盲目转移. 以下是我实施的代码: transfersession(ext) { this.rtcSession.refer('sip:' + ext + '@' + serveraddress); } 有人可以告诉我还有其他我还要写的吗? 上面的代码断开正在进行的呼叫并将呼叫添加到他队列. 我在做什么错误?预先感谢. 解决方案 另一侧应支持.但是,这可能是不安全的,因此大多数提供商都被禁用. 无论如何,您应该学习如何使用tcpdump/wireshark并检查sip跟踪. 其他解决方案 这是我进行盲转>的代码 function makeBlindTransfer(numberToTransfer) { let eventHandlers = { requestSucceeded: function (e) { console.log("Transferencia rea
在SDP中,colon(':')和斜线('/')中使用了许多属性值(标准值和A =扩展).这只是其中的一些: b=AS:41 a=rtpmap:96 AMR-WB/16000/1 a=fmtp:96 mode-change-capability=2; max-red=80 我想知道(无论是用于解析还是生成SDP),如果允许周围的空间.所有示例都指出周围没有空间.我认为RFC 4566的第9节给出了SDP的语法. 解决方案 我会说,通常,SDP不喜欢Whitespace. RFC4566的第一个规则不是回答您的问题,但这是一个开始: An SDP session description consists of a number of lines of text of the form: = where MUST be exactly one case-significant character and
我已经尝试并测试了各种方法,以使WebRTC在Internet Explorer上工作 使用Google Chrome插件 webrtc4all sipml5对这两种方法都没有响应 我还阅读了"通过网络(CU-RTC-WEB)自定义,无处不在的实时通信 实时媒体和点对点运输API"仍处于开发阶段且未发布版本的文档. 有人可以告诉我解决问题的方法,或者如果我错了,请纠正我. 解决方案 好吧,我要在这里回答我自己的问题..等待几个月后,IE决定将SYPE像Webrtc(免费插件) http://venturebeat.com/2014/10/10/10/10/27/microsoft-eyes -webrtc-for-plugin-frugin-skype-skype-internet-internet-explorer/.但是,现在没有可用的详细信息/确认 其他解决方案 Webrtc现在在Chrome stable和Firefox Beta中得
我可以从我的Webclient注册到FreeSwitch.但是,当我尝试打电话时,电话会被拒绝,而488在这里不可接受.从freeSwitch控制台日志im获取. 2014-07-22 22:03:59.673585 [DEBUG] switch_core_state_machine.c:53 sofia/internal/alice@192.168.146.133 Standard REPORTING, cause: INCOMPATIBLE_DESTINATION 我添加了 用我的扩展;但是没有运气. 下面是我的邀请的SDP v=0 o=Mozilla-SIPUA-31.0 26508 1 IN IP4 0.0.0.0 s=Doubango Telecom - firefox t=0 0 a=ice-ufrag:13497e25 a=ice-pwd:515d61f08d909117e022674f3dce748e a=fingerprint:sha-256 2E
现在我测试WebRTC与SIP客户端(SX20) 进行通信 我使用WEBRTC SDP发送邀请消息.但是sip客户的答案没有手指打印, sip客户端答案不只是rtp. 所以我需要关闭WebRTC中的SRTP.我可以做吗? 还有一个问题...我认为,手指打印是加密的, 那么,发送者和接收器需要每个键吗?我们需要两个钥匙吗?发件人的钥匙,接收钥匙? 否则我们只需要发件人'键? 解决方案 您无法关闭SRTP.它是标准的一部分,可能永远不会删除. 钥匙在指纹不是密钥本身,钥匙是通过DTLS交换的,如果您在其中一台机器上收听Wireshark,则实际上可以看到DTLS交换P> 您将需要实现一个断路器才能与WEBRTC客户端和SIP客户端接口. 其他解决方案 用于测试目的,Chrome Canary和Chrome Developer都有一个标志,可以关闭SRTP,例如: cd /Applications/Google\ Chrome\ Canary.a
我一直在了解有关WebRTC,SIP和PSTN的更多信息,以及它们如何一起工作,尤其是在浏览器中接收电话的能力.我已经在Twilio的网站上度过了一些时间,我喜欢他们能够让您接到PSTN的电话的方式. 我想了解他们如何能够让某人拨打普通的PSTN电话号码,并将呼叫定向到Web浏览器. 我碰到这个问题我仍然缺少一些东西. 要澄清我的问题,让我们采取以下情况: 第一部分 让我们假设我住在伦敦,拥有自己的SIP-Server和SIP帐户,并拥有一个PSTN Phone-number,并且该号码已映射到SIP帐户.现在,我希望能够在浏览器中接收来自世界各地的电话.当人们拨打PSTN号码时,电话通过我的电信提供商.那么电话如何到我的浏览器?在将呼叫引导到浏览器之前,我是否必须将SIP服务器连接到电信提供商系统? 这是否意味着能够将呼叫引向浏览器电信公司系统必须知道,对于此特定的PSTN编号,该呼叫必须到我的SIP服务器或类似的东西? 我想知道通话发生的所有
是否有可能在Cordova/PhoneGap中使用SIP?我还没有找到任何插件. 对WEBRTC的支持也不可用(但根据他们的路线图计划在2.x中). . 解决方案 Android上的支持SIP或WebRTC与PhoneGap/Cordova>操作系统.现在,您需要寻找外部库来为您做到这一点. 您可以自己添加电话盖(用java编写),以与某些SIP服务器通信.或者,如果您愿意,您可以使用JavaScript库为您实现SIP协议(例如其他解决方案 有两个部分可以在科尔多瓦中实现werbrtc: sip通信以拨打电话(发送邀请req)或接收来电(接收邀请req) 然后RTP通信以制作共享媒体(语音或视频)的ICE频道 在第一部分中,我使用 sipjs 用于iOS&Android平台.但是在第二部分中,我使用每个平台使用不同的Plaugins基础: 对于Android,您现在不需要Android的任何平台支持WEBRTC在其标准WebView中支持WEBRT
我正在考虑实现使用SIP和WEBRTC的基于浏览器的VoIP解决方案,并连接到PTSN.基本上,用户给我他们的SIP凭证,我使用webrtc来吸引他们的麦克风和扬声器.在页面上,我计划运行一个sip客户端. 如何实现来自PTSN的来电?我需要某种连接到用户的SIP服务器的侦听器吗? 我知道这是一个广泛的问题,但是在网上进行了一些研究之后,我仍然对sip的传入电话有些困惑. 解决方案 您需要实现SIP-WEBRTC网关的服务器.网关将能够通过SIP转换ISDN-SIP,SS7-SIP等,从SIP提供商(本身将充当SIP-PSTN网关),然后使用Webrtc将呼叫转发给您的基于浏览器的客户端. . 将服务器的换句话说是SIP服务器和HTTP服务器的组合,HTTP服务器需要支持Web插座和WEBRTC API. 如果您尚未查看 phono sdk 这是一个很好的起点. 更新: 自从我上次看Webrtc以来,事情已经有所发展.现在,在JavaScrip
我正在尝试开发一个应用程序,其中建立了SIP调用,然后捕获RTP音频数据包.当它们编码时,我需要对其进行解码并保存它具有.wav文件.尝试使用Naudio,但没有起作用.是否有使用Naudio或任何其他来源解决此问题的解决方案... 我使用的代码如下.数据是RTP数据包数据的字节数组. System.IO.MemoryStream stream = new System.IO.MemoryStream(data); RawSourceWaveStream rsws = new RawSourceWaveStream(stream, WaveFormat.CreateMuLawFormat(8000,1)); WaveStream conversionStream = WaveFormatConversionStream.CreatePcmStream(rsws); WaveStream blockAlignedStream = new BlockAlignReducti
通过查看另一个 sipp相关问题我知道现在有可能使用rtp_stream操作播放WAV文件. 我尝试了几个不同的WAV文件,但没有成功.我只会得到一些噪音而不是预期的声音. 在上述问题中的一个评论中,有一个简单的指令将WAV文件转换为兼容格式,但它也不起作用. 我还尝试使用Sox转换 没有成功. 任何人都可以指示我如何生成有效的WAV文件与SIPP一起使用? 这是我的recv 200 OK命令,其中包括播放音频动作: 解决方案 我正在寻找不同的WAV文件编码,并在我找到了一个文件(8,000 Hz µ-Law)使用rtp_stream="8kulaw.wav,-1,0" exec参数. 这是文件信息: ubuntu@myl
我在构建pjsip时会遇到以下错误此链接 . 当我运行make命令时: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/errno.h:28:0, from ../include/pj/compat/socket.h:131, from ../src/pj/ioqueue_select.c:38: ../src/pj/ioqueue_common_abs.c: In function ‘pj_ioqueue_recv’: ../include/pj/compat/os_auto.h:149:31: error: ‘EAGAIN’ undeclared (first use in this function) #define PJ_BLOCKING_ERROR_VAL EAGAIN
我正在尝试创建与Web应用程序交互的基于VoIP的IVR服务.据我了解,Adhearson在星号上运行.我需要在服务器上还需要什么来满足方程式? 我认为我需要一种星号连接到VoIP帐户的方法.我感谢对Google的任何帮助和/或短语. 解决方案 如果您想快速而轻松地构建IVR,最好看一下Tropo.com(Tropo的父母,Voxeo,housh houthearsion)或Twilio.com,他们已经做了很多事情为您的咕unt工作和设置星号不是为了淡淡的心. 如果您想在两者之间进行一半的路程,则可以打开一个CloudVox.com帐户,并在自己的机器上运行敏捷过程.在该配置中,调用将在CloudVox星号服务器上处理,并呼叫呼叫守护程序以控制呼叫. 其他解决方案 如Sipwiz所述,我们可以在 tropo (感谢Aaron,提及) . 除了设置星号的问题之外,问自己是否真的要维护它.您可以在书桌下设置Web服务器,但是对于大多数生产Web应用程序
我正在尝试通过使用nodejs来播放谁打电话给我. 他正在使用SIP并启动呼叫.我能够接到电话并记录他的音频. 现在我正在尝试使用RTP协议向他播放音频. 所以我尝试的是保存每个RTP数据包,然后按原样发送回. 但是我不透气,为什么他什么也没听到. 邀请命令 INVITE sip:1@104.154.78.142 SIP/2.0 Via: SIP/2.0/UDP 31.168.3.211:5060;branch=z9hG4bK071d7c26 Max-Forwards: 70 From: "0555042354" ;tag=as710f47f3 To: Contact: Call-ID: 36bde5b72f7a67956f7559a8581ea010@31.168.3.211:5060
我正在尝试为黑莓的VoIP申请开发,经过长时间的冲浪,我来了 要了解MJSIP API.但是我有疑问是否可以使用此API 使用BlackBerry开发来创建VoIP应用程序.请任何人知道答案 帮我. 解决方案 谢谢,这是您在那里找到的一个不错的项目!有一个J2ME版本 更新您对,有包装/文件夹结构的错觉. 编译的步骤: 下载创建BlackBerry Project(我使用了组件4.6) 在项目src文件夹中创建这样的结构: 提取MJSIP2Me_1.6.zip,复制文件和文件夹: 来自mjsip2me_1.6 \ src \ org \ zoolu \ to project \ src \ org \ org \ zoolu \ 来自mjsip2me_1.6 \ src \ j2me \ local \ to project \ src \ local 来自mjsip2me_1.6 \ src \ j2me \ microtools \ to pro
这是使用任何外部库来启动Android的SIP客户端的更好方法.因为本机内置Inuilt sip库仅与大于2.3.1的版本一起工作.寻找更好,更易于的解决方案以构建SIP客户端以构建SIP客户端以供较低的sip客户端Android的版本.任何人都可以帮助您... 解决方案 要开始实现软件SIP客户端,您需要第三方SIP实现堆栈.请查看此线程用于SIP实现堆栈的列表. 要寻找什么: 评估您需要的功能和SIP-stack提供的功能(它们主要在Audtio/Video的支持编解码器和会议音频/视频呼叫支持中不同) 请注意SIP堆栈实现的最新发布日期.通常"最近发布日期"是指更好的支持和更好的功能. 您还将看到使用这些SIPSTACKS的流行OpenSource软件客户端,这意味着来源代码在那里,您可以看到它们如何与Sipstacks合并. 其他解决方案 我已经使用了 imsdroid 与WiFi,Edge和GPR一起使用.但是APK文件约为15-20MB.
im创建一个Android应用 我下载了csipsimple,它具有"本地"选项,其中本地网络中的客户可以直接呼叫. 如果我连接到移动网络怎么办?如果我知道目的地的公共IP,我可以称他为direclty吗? 如果您可以建议其他满足上述要求的应用程序,请提及它们. 谢谢 解决方案 是的,您应该能够与几乎所有SIP客户端直接致电.我正在使用 mizudroid 并与此一起使用. 在这种情况下,您只需要输入目的地的完整URI,而不仅仅是扩展名称. 因此,不要打电话给"约翰",而必须输入 john@ipaddress:port 示例: john@192.168.1.33:14321 一些SIP客户可能需要将所有这些都以" sip:": 的方式前缀 sip:john@192.168.1.33:14321 如您所见,棘手的部分是找出正确的端口. SIP客户端默认使用了随机的本地端口,但是其中一些允许您明确设置该端口. (不要与通常在