sip

freeswitch源码阅读 之 sofia模块

北战南征 提交于 2019-12-20 08:50:38
sofia模块在freeswitch中的位置非常重要, 所有的sip通话都和它有关, 那么我们就看一下该模块的执行流程。 一、 实现的功能: 1. sip注册; 2. 呼叫; 3. Presence; 4. SLA, 等。 二、 主要的方法, 有三个, 分别为: [cpp] view plain copy #define SWITCH_MODULE_LOAD_FUNCTION(name) switch_status_t name SWITCH_MODULE_LOAD_ARGS #define SWITCH_MODULE_RUNTIME_FUNCTION(name) switch_status_t name SWITCH_MODULE_RUNTIME_ARGS #define SWITCH_MODULE_SHUTDOWN_FUNCTION(name) switch_status_t name SWITCH_MODULE_SHUTDOWN_ARGS [cpp] view plain copy </pre><pre name= "code" class= "cpp">SWITCH_MODULE_LOAD_FUNCTION(mod_sofia_load); SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_sofia_shutdown); SWITCH_MODULE

Run SIP demo Android platform 2.3 on AVD's

风流意气都作罢 提交于 2019-12-20 05:45:12
问题 Android 2.3 platform contains a SIP demo project. I want to test this project on two AVD's, not on real Android devices. I really don't know how to proceed. 回答1: From Testing SIP Applications Testing SIP Applications To test SIP applications, you need the following: A mobile device that is running Android 2.3 or higher. SIP runs over wireless, so you must test on an actual device. Testing on AVD won't work. A SIP account. There are many different SIP providers that offer SIP accounts. If you

RaspberryPI: Making SIP outbound calls using linphonec or an alternative SIP soft phone

主宰稳场 提交于 2019-12-19 04:15:18
问题 In my project I want my Raspberry PI to dial an outbound PSTN number. I have a SIP account with an assigned regular phone number and I can make the mentioned outbound calls on OSX using Telephone.app: Now I tried to achieve the same on my raspberry PI using linphonec First I register my SIP Provider with linphone with seems to succeed: $ sudo apt-get install linphone $ linphonec linphonec> register sip:4100000004@free4.voipgateway.org free4.voipgateway.org <PASSWORD> Registration on sip:free4

Installing the “ring.cx SIP client” on a Raspberry PI

≯℡__Kan透↙ 提交于 2019-12-19 03:40:29
问题 The Situation I would like to get terminal-based (headless) SIP calls working on my Raspberry Pi and I already tried this using linphone: RaspberryPI: Making SIP outbound calls using linphonec or an alternative SIP soft phone Since I am currently stuck there I wanted to try another option which was SFLPhone. They pointed me towards the ring software project which offers a daemon dring which allows making SIP calls using a scripting interface: Indeed, the daemon can run standalone and be

WebRtc与SIP

前提是你 提交于 2019-12-19 03:08:23
最近研究一下 webrtc ,看了几篇paper,之前也尝试运行验证了几个demo,现在把我的理解总结到这里。 WebRTC 简介 WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的技术,是谷歌2010年以6820万美元收购Global IP Solutions公司而获得的一项技术。 这是百度百科上的介绍,维基百科也差不多。对完全小白来讲,可能不是很理解这句话。 首先, 什么是实时通信? 举个直白的例子,我们平时打电话就是实时通信。现在有很多实时通信的软件,比如 丁丁 、 有信 ……这是手机app。PC客户端像 Xlite 、 Linphone 等等。这些客户端接入网络,注册到相应的服务器上就可以进行音频通信了,支持视频的还能进行视频通信。拿 Xlite 来说,它的信令机制采用的是sip协议。 SIP 协议是 IMS 网络广泛使用的信令协议,已经很成熟。两个uesr 通过 Xlite 客户端注册到 sip server (如 Asterisk)上,就可以互相拨打对方的号码音视频通信了,不过就 Xlite 来说,语音通话是免费的,但是视频的话,是要支付money软件才提供视频功能的…… 其次, 为什么要提出WebRTC? 一直以来,用户如果想通过互联网进行实时通信,就需要安装软件

Android SIP SSL

微笑、不失礼 提交于 2019-12-19 02:41:30
问题 I'm using the SIP stack in Android 2.3.4 and everything is working nicely. However, I need the system to use SSL, and have created the following code: SipProfile.Builder builder = new SipProfile.Builder("user","domain"); builder.setPassword("password"); builder.setOutboundProxy("sip:IPADDRESS:5061;transport=tls"); builder.setProtocol("TCP"); builder.setAutoRegistration(true); me = builder.build(); Intent i = new Intent(); i.setAction(Constants.INCOMING_CALL_INTENT); PendingIntent pi =

How can I use Twilio as a SIP trunk for my Asterisk to make and receive calls?

橙三吉。 提交于 2019-12-18 10:57:28
问题 I have a Twilio account which has a number (let's say 8881231234), and I have Asterisk box. I'd like to use Twilio as an Asterisk trunk to be able to make calls at their rates and receive calls from that number on my Asterisk. I haven't found any specs to interconnect Asterisk with Twilio. Is it possible to set up Asterisk so that every outgoing call is routed through Twilio and have the calls on my 8881231234 number ring on my SIP phone? 回答1: Twilio Seems to offer SIP Trunking now. 回答2: As

Sip Error while registration

夙愿已清 提交于 2019-12-18 04:11:20
问题 I am using native methods of sip calling and it is working fine but some time it is giving registration error IN_PROGRESS (Error Code -9 ) .I have search in Sip Error codes but dint find any error code of this kind . Here is my code for sip registration .PLease tell me if any one have idea about this error please tell me . import android.app.Activity; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context;

sip response计算方式

可紊 提交于 2019-12-18 03:03:35
sip注册时有四个步骤,   1.客户端向服务端发送不带Authorization字段的注册请求   2.服务端回401,在回复消息头中带WWW_Authorization   3.客户端向服务端发送带Authorization字段注册请求,Authorization字段中的response信息是    根据收到的WWW_Authorization中的信息和本地的一个密码信息计算出来的。   4.服务端会自己计算一个Response值,和客户端发来的对比,一样的会回客户端一个200OK,表示    注册成功。比对不一样回其他错误码给客户端。 Sip invite时(freeswitch)使用时也需要进行md5校验;      response的计算方法:   1)HASH1=MD5( username:realm:passwd)   2)HASH2=MD5(method:uri)   3)response=MD5(HA1:nonce:HA2)   exosip/osip是通过下面的两个函数计算response,该exosip/osip的版本是2-4.1.0。   char HA1[265],HA2[265];   DigestCalcHA1(0, pszUser, realm_.c_str(), passwd, 0, 0, HA1);   该函数通过pszUser,realm,

GIScript2016的重要变化

99封情书 提交于 2019-12-17 19:28:20
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> GIScript是一个开源的地理信息处理脚本系统。 GIScript 2016的目录结构进行了调整,因此2016版需要重新编译。 GIScript 2016目前可以支持Windows和Linux,考虑到技术发展的趋势和数据处理的场景,目前只对64位系统提供支持。 GIScript 2016在Linux上主要支持gcc4.9的编译,主要测试平台是Ubuntu。 GIScript 2016在Ubuntu14.04上,因为使用的gcc4.8.2,需要自己下载gcc4.9.3编译,然后再编译GIScript的库。 GIScript 2016在Ubuntu15.04上,因为使用的gcc4.9.2,可以直接使用。 GIScript 2016在Ubuntu15.10上,因为使用的gcc5.2.1,需要自己下载gcc4.9.3编译,然后再编译GIScript的库。 编译完后,测试一下gcc和g++的版本: gcc -v g++ -v 如果有问题,参考这里解决: http://my.oschina.net/u/2306127/blog/538139 然后运行一下测试程序,进入testbed目录: ./run.sh t_dataimport.py 仔细查看输出信息,一般会成功。如果有出错信息,参考上面检查配置。 如果安装了老版本的