SIP phone使用记

        今天在dapper下使用了两款sip软件,linphone和ekiga.
        ekiga是dapper下自带的一款sip phone,使用前需要去 ekiga.net注册sip帐号,收到确认邮件确认后才有效,然后在ekiga菜单Edit==>Accouts里输入你注册的用户名,密码,Registrar填ekiga,net就可以了,点击ok后,就会注册,使用wireshark可以捕获到register消息的,注册成功后可以看到状态为registered.这样就可以使用了。
        你也可以自己编译源代码,源代码在http://snapshots.seconix.com/index.php,需要先编译 pwlib和 opal,然后编译ekiga,不过我编译configure时却提示checking for PWLib version... configure: error: Sorry but the recommended PWLib version is 1.10.1
,这个我怀疑是我本机已安装的ekiga使用的pwlib的版本过低。
     linphone是基于osip的一款sip phone,所以需要现安装osip2,,另外依赖ffmpeg,这个可以通过

svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg获得,ffmpeg编译起来有点麻烦,我参考ffmpeg的编译大全编译的,不过还是有问题,最后没办法去掉了--enable-amr_nb-fixed 和--enable-x264,安装ffmpeg后,linphone就很容易了。
      启动linphone后,提示说要设置成使用ipv6,于是照做,然后在RealTunnel 注册了个帐号,接着preference==>sip里设置帐号,重启linphone后会进行注册,但是却一直time out,找了好久,后来去掉ipv6的选项才解决,然后就使用linphone和ekiga互相通讯,可是发现怎么也连不通,收到408消息,后来发现我在家通过路由器上网,使用的是私有地址,需要stun server,参考ekiga的设置,在linphone里填入stun server的地址,然后ekiga就可以call linphone了,接通后,ekiga却提示声卡忙,不能传输语音,估计是linphone也占用了声卡,不过还有个奇怪的问题,从linphone call ekiga却一直time out,不知道是不是stun server的问题。
       总的来说,这两款软件提供的功能基本一直,音频和视频格式支持也基本相当,不过linphone基于ffmpeg,而ekiga好象是基于pwlib,linphone是基于开源的osip协议栈,目前还不清楚ekiga采用哪个协议栈,也许就是自己的,不过ekiga的界面好看一点。
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Android SIP(Session Initiation Protocol)是一种用于语音、视频和即时通讯的协议。在Android设备上,我们可以使用SIP来注册和使用语音通话服务。 要注册一个SIP账户,我们需要使用SipManager类和SipProfile类。首先,我们需要获取一个SipManager的实例,并使用createSipProfile()方法创建一个SipProfile对象。然后,我们需要设置SIP账户的用户名、域名、密码和服务器地址等信息,以及是否启用接收来电等选项。最后,我们调用register()方法来注册SIP账户。 在使用SIP进行通话之前,我们需要设置一个SipAudioCall.Listener监听器来处理SIP通话状态和事件。然后,我们使用SipAudioCall类的makeAudioCall()方法来拨打一个SIP电话。在此方法中,我们需要提供SipProfile对象和被叫方的SIP地址。如果成功建立通话,我们可以使用startAudio()方法开始语音通话。 使用SIP进行通话时,我们可以使用SipAudioCall类的方法来控制通话。例如,我们可以使用isMuted()方法来检查通话是否被静音,使用setSpeakerMode()方法来切换到扬声器模式,使用toggleMute()方法来切换静音状态等。 当通话结束时,我们需要调用SipAudioCall类的endCall()方法来结束通话,并调用unregister()方法来取消注册SIP账户。 需要注意的是,使用SIP进行通话需要设备支持以及正确配置的SIP服务器。另外,权限也是使用SIP的关键。我们需要在AndroidManifest.xml文件中添加适当的权限,如INTERNET、USE_SIP和WAKE_LOCK等。 总结起来,Android上使用SIP进行注册和通话需要以下步骤:获取SipManager实例,创建和注册SipProfile对象,设置监听器和处理通话事件,拨打SIP电话,处理通话控制与操作,结束通话并取消注册。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值