VOIP是什么意思?
基于IP的语音传输(英语:Voice over Internet Protocol,缩写为VoIP)是一种语音通话技术,经由网际协议(IP)来达成语音通话与多媒体会议,也就是经由互联网来进行通信。其他非正式的名称有IP电话(IP telephony)、互联网电话(Internet telephony)、宽带电话(broadband telephony)以及宽带电话服务(broadband phone service)。VoIP可用于包括VoIP电话、智能手机、个人计算机在内的诸多互联网接入设备,通过蜂窝网络、Wi-Fi进行通话及发送短信。扩展资料:特点1、无需电脑。不会像电脑一样,因为中病毒,或者操作系统故障,导致不能正确使用。2、适合保障长时间在线。内网互打,关键是要保持在线。3、加密通讯。4、音质清晰。语音处理采用国际先进的语音处理芯片,有效解决回音消除,数据包丢失、网络抖动产生的问题。比软件电话的音质普遍要高。5、 成本价格低廉,可以随意改号,显示号码。6、可监控,可录音,支持三方通、密语、来电转接等功能。
VoIP是什么意思?
VoIP(Voice over Internet Protocol)简而言之就是将模拟声音讯号(Voice)数字化,以数据封包(Data Packet)的型式在 IP 数据网络 (IP Network)上做实时传递。 VoIP最大的优势是能广泛地采用Internet和全球IP互连的环境,提供比传统业务更多、更好的服务。 VoIP可以在IP网络上便宜的传送语音、传真、视频、和数据等业务,如统一消息、虚拟电话、虚拟语音/传真邮箱、查号业务、Internet呼叫中心、Internet呼叫管理、电视会议、电子商务、传真存储转发和各种信息的存储转发等。
VoIP(Voice over Internet Protocol)是一种以IP电话为主,并推出相应的增值业务的技术。 VoIP最大的优势是能广泛地采用Internet和全球IP互连的环境,提供比传统业务更多、更好的服务。VoIP相对比较便宜。为什么? VoIP电话不过是互联网上的一种应用。网络电话不受管制。因此,从本质上说,VoIP电话与电子邮件,即时讯息或者网页没有什么不同,它们均能在经过了互联网连接的机器间进行传输。这些机器可以是电脑,或者无线设备,比如手机或者掌上设备等等。 为什么VoIP服务有些要收钱,有些却免费? VoIP服务不仅能够沟通VoIP用户,而且也可以和电话用户通话,比如使用传统固话网络以及无线手机网络的用户。对这部分通话,VoIP服务商必须要给固话网络运营商以及无线通讯运营商支付通话费用。这部分的收费就会转到VoIP用户头上。网上的VoIP用户之间的通话可以是免费的。 使用VoIP,你需要做些什么? 你需要有互联网连接。这可以是最基本的拨号上网服务,或者更理想的宽带服务,你的网络连接速度越快,VoIP的通话质量就越好。例如,高速宽带连接能够令你一面打电话,一面上网冲浪。 你还需要VoIP软件。用户可以选择一种VoIP软件软件安装至台式电脑或笔记本电脑上。然后,电脑就可以进行网上通话了。 如果用户想要将自己的家庭电话转化为VoIP拨号系统,他需要适配器的帮助。VoIP软件可以单独预装在一种名为“模拟电话适配器”(analog telephone adapter)的硬件设备中,模拟电话适配器主要安装于家庭电话与宽带调制解调器之间。
在未来的3到5年,2009年的中国VoIP市场流量将达到9950亿分钟,而具有更强大实力的新VoIP服务供应商也会涌入市场。无线VoIP在不久的将来会与传统无线通信实现并存和竞争的关系,而不是对传统无线通信的一种廉价替代物
编辑本段话音编码方案
目前世界多个标准组织和工业实体提出了很多话音编码方案。其中包括国际电信联盟的G.711(速率64kbps),G.723.1(速率5.3kbps或者6.3kbps),G.729A(速率8kbps)编码方案。微软、Intel等业界巨头也有自己的编码方案。
什么是VOIP对讲业务?
VOIP对讲业务是一种半双工业务,与传统的对讲业务类似,是一种“即按即说”的业务,用户只需要按动手机上的一个按键就能和某个人或某个群组进行通话,被叫用户无需作接听操作,即可通过手机收听。在通话过程中,同时只能有一方在讲话,其余通话方只能接听。当讲话人释放对讲按键时,其余用户才能按对讲键发起通话。了解更多服务优惠点击下方的“官方网址”客服217为你解答。
什么是VOIP和SIP?
1、VOIP:是一种语音通话技术,经由网际协议(IP)来达成语音通话与多媒体会议,也就是经由互联网来进行通信。VoIP可用于包括VoIP电话、智能手机、个人计算机在内的诸多互联网接入设备,通过蜂窝网络、Wi-Fi进行通话及发送短信。2、SIP:是一个应用层的信令控制协议。用于和一个或多个参与者创建、修改和终止会话。SIP的结构与HTTP(客户-服务器协议)相似。客户机发出请求,并发送给服务器,服务器处理这些请求后给客户机发送一个响应,该请求与响应形成一次事务。扩展资料:其他协议1、MGCP(媒体网关控制协议)媒体网关控制协议(MGCP)定义了呼叫控制单元(呼叫代理或媒体网关)与电话网关之间的通信服务。MGCP属于控制协议,允许中心控制台监测IP电话和网关事件,并通知它们发送内容至指定地址。在MGCP结构中,智能呼叫控制置于网关外部并由呼叫控制单元(呼叫代理)来处理。同时呼叫控制单元互相保持同步,发送一致的命令给网关。2、MEGACO(媒体网关控制协议)媒体网关控制协议(MEGACO)是IETF和ITU-T(ITU-TH.248建议)共同努力的结果。Megaco/H.248是一种用于控制物理上分开的多媒体网关的协议单元的协议,从而可以从媒体转化中分离呼叫控制。Megaco/H.248通知媒体网关将来自于数据包或单元数据网络之外的数据流连接到数据包或单元数据流上,如实时传输协议(RTP)。参考资料来源:百度百科-voip参考资料来源:百度百科-SIP (会话发起协议)
什么是VOIP功能?
VoIP(Voice over Internet Protocol)是一种以IP电话为主,并推出相应的增值业务的技术。
VoIP最大的优势是能广泛地采用Internet和全球IP互连的
环境,提供比传统业务更多、更好的服务。
VoIP可以在IP网络上便宜的传送语音、传真、视频、和数据等业务,如统一消息、虚拟电话、虚拟语音/传真邮箱、查号业务、Internet呼叫中心、Internet呼叫管理、电视会议、电子商务、传真存储转发和各种信息的存储转发等。
使用VOIP的主要优点
把VOIP集成到集中器或RAS中,企业将进入一个充满机遇的新世界。如果该企业是服务提供商或传输服务提供商,则能够向用户提供附加业务。如果是远程用户,则访问过程将明显简化。
增加利润--造就机遇--企业不再单纯依靠从用户的按时计费应用或主机使用中获取利润。服务提供商和传输服务提供商现在可以在传统业务基础上提供话音、传真、多媒体业务。由于这些企业长期通过企业局域网和PSTN建立连接,这一连接关系可以随着业务的增长而继续。
例如,有了VOIP,接入业务提供商,包括互联网服务提供商(ISP)和传输服务者可以实现Points-of-Presence(POPs)和上下驿站网关服务。VOIP网关功能支持PC-to-Phone和Phone-to-PC业务,可通过基于IP的网络进行实时通信,造就新的商业机会。
企业节支和接入的优点--对于依靠PSTN使用话音和传真业务的企业,节约的开支是十分可观的。VOIP通过绕过PSTN的方式,最终减少计费。用市话的价格,用户可以在任何时间向全球任何地方发送传真或拨打电话。另外,新的HiPer接入的VOIP功能将使用户可以通过在POTS线上建立的连接,接入企业内部网络、检查电子邮件、使用互联网和收听话音邮件。而且,话音邮件或电子邮件经过检查后,远程用户就可以接通从PC机上接入的电话了。这一功能节约的费用和增加的就业机会将使该企业更具竞争力。
升级简单和可扩展性-- 由于Total Control VOIP是建立在Total Control服务器上的一种软件解决方案,所以升级和操作十分简单,而且节约时间和费用。3Com充分开发了其产品的DSP软件引擎。因此配备了DSP的3Com硬件,升级和进一步开发要比其他公司的DSP解决方案简单。未来的VOIP产品,则由软件升级替代整套的硬件更换。在系统升级时,这一功能既节省经费又节省时间 。
voip业务存在哪些状态
在过去的几年里, VOIP 产业一直致力于下面几个主要问题: 信令技术保证电话呼叫的顺利实现和话音质量,目前被广泛接受的VoIP 控制信令体系包括ITUT
的H.323 系列和IETF 的会话初始化协议SIP。
ITU的H.323 系列建议定义了在无业务质量保证的因特网或其它分组网络上多媒体通信的协议及
其规程。H.323 标准是局域网、广域网、INTRANET 和Internet 上的多媒体提供技术基础保障。
H.323 是ITU-T 有关多媒体通信的一个协议集,包括用于ISDN 的H.320,用于B-ISDN 的H.321
和用于PSTN 终端的H.324 等建议。其编码机制,协议范围和基本操作类似于ISDN 的Q.931 信令
协议的简化版本,并采用了比较传统的电路交换的方法。相关的协议包括用于控制的H.245,用于
建立连接的H.225.0,用于大型会议的H.332,用于补充业务的H.450.1、H.450.2 和H.450.3,有关安
全的H.235,与电路交换业务互操作的H.246 等。H.323 提供设备之间、高层应用之间和提供商之
间的互操作性。它不依赖于网络结构,独立于操作系统和硬件平台,支持多点功能、组播和带宽管
理。H.323 具备相当的灵活性,支持包含不同功能的节点之间的会议和不同网络之间的会议。H.323
建议的多媒体会议系统中的信息流包括音频、视频、数据和控制信息。信息流采用H.225.0 建议
方式来打包和传送。
H.323 呼叫建立过程涉及到三种信令:RAS 信令(R=注册:Registration、A=许可:Admission
和S=状态:Status),H.225.0 呼叫信令和H.245 控制信令。其中RAS 信令用来完成终端与网守
之间的登记注册、授权许可、带宽改变、状态和脱离解除等过程;H.225.0 呼叫信令用来建立两
个终端之间的连接,这个信令使用Q.931 消息来控制呼叫的建立和拆除,当系统中没有网守时,呼叫
信令信道在呼叫涉及的两个终端之间打开;当系统中包括一个网守时,由网守决定在终端与网守
之间或是在两个终端之间开辟呼叫信令信道;H.245 控制信令用来传送终端到终端的控制消息,
包括主从判别、能力交换、打开和关闭逻辑信道、模式参数请求、流控消息和通用命令与指令等。
H.245 控制信令信道建立于两个终端之间,或是一个终端与一个网守之间。
虽然H.323 提供了窄带多媒体通信所需要的所有子协议,但H.323 的控制协议非常复杂。此
外,H.323 不支持多点发送(Multicast)协议,只能采用多点控制单元(MCU)构成多点会议,因
而同时只能支持有限的多点用户。H.323 也不支持呼叫转移,且建立呼叫的时间比较长。与H.323
相反,SIP 是一种比较简单的会话初始化协议。它不像H.323 那样提供所有的通信协议,而是只提
供会话或呼叫的建立与控制功能。SIP 可以应用于多媒体会议、远程教学及Internet 电话等领域。
SIP 既支持单点发送(Unicast)也支持多点发送,会话参加者和媒体种类可以随时加入一个已存在
的会议。SIP 可以用来呼叫人或机器设备,如呼叫一个媒体存储设备记录一个会议,或呼叫一个点
播电视服务器向会议播放视频信号。
SIP 是一种应用层协议,可以用UDP 或TCP 作为其传输协议。与H.323 不同的是:SIP 是一种基
于文本的协议,用SIP 规则资源定位语言描述(SIP Uniform Resource Locators),这样易于实现和
调试,更重要的是灵活性和扩展性好。由于SIP 仅作于初始化呼叫,而不是传输媒体数据,因而造成
的附加传输代价也不大。SIP 的URLL 甚至可以嵌入到web 页或其它超文本链路中,用户只需用
鼠标一点即可发出一个呼叫。与H.323 相比,SIP 还有建立呼叫快,支持传送电话号码的特点 话音压缩编码技术是VOIP 电话/VOIP 网络电话技术的一个重要组成部分。目前,主要的编码技术
有ITU-T 定义的G.729、G.723(G.723.1)等。其中G.729 可将经过采样的64kbit/s 话音以几乎不
失真的质量压缩至8kbit/s。由于在分组交换网络中,业务质量不能得到很好保证,因而需要话音的
编码具有一定的灵活性,即编码速率、编码尺度的可变可适应性。G.729 原来是8kbit/s 的话音编
码标准,现在的工作范围扩展至6.4~11.8kbit/s,话音质量也在此范围内有一定的变化,但即使是
⒍4kbit/s,话音质量也还不错,因而很适合在VoIP 系统中使用。G723.1 采用5.3/6.3K bit/s 双速率话
音编码,其话音质量好,但是处理时延较大,它是目前已标准化的最低速率的话音编码算法。 实时传输技术主要是采用实时传输协议RTP。RTP 是提供端到端的包括音频在内的实时数据传
送的协议。RTP 包括数据和控制两部分,后者叫RTCP。RTP 提供了时间标签和控制不同数据流同
步特性的机制,可以让接收端重组发送端的数据包,可以提供接收端到多点发送组的服务质量反
馈。 VOIP 电话/VOIP 网络电话中主要采用资源预留协议(RSVP)以及进行服务质量监控的实时传输控
制协议RTCP 来避免网络拥塞,保障通话质量。 VOIP 电话/VOIP 网络电话中网络传输技术主要是TCP 和UDP,此外还包括网关互联技术、路由
选择技术、网络管理技术以及安全认证和计费技术等。由于实时传输协议RTP 提供具有实时特
征的、端到端的数据传输业务,因此VOIP 电话/VOIP 网络电话中可用RTP 来传送话音数据。在
RTP 报头中包含装载数据的标识符、序列号、时间戳以及传送监视等,通常RTP 协议数据单元是
用UDP 分组来承载,而且为了尽量减少时延,话音净荷通常都很短。IP、UDP 和RTP 报头都按最
小长度计算。VoIP 话音分组开销很大,采用RTP 协议的VOIP 电话/VOIP 网络电话格式,在这种方
式中将多路话音插入话音数据段中,这样提高了传输效率。此外,静音检测技术和回声消除技术也
是VOIP 电话/VOIP 网络电话中十分关键的技术。静音检测技术可有效剔除静默信号,从而使话音
信号的占用带宽进一步降低到3.5kbit/s 左右;回声消除技术主要利用数字滤波器技术来消除对
通话质量影响很大回声干扰,保证通话质量。
现在有什么合法的VOIP业务吗
首先需要考虑的便是正规、合法性,VOIP网络电话公司具备两个条件:一是国家分多批向多家民营企业下发了虚拟运营商执照,允许这些企业从移动、联通、电信购买通讯服务,重新包装成自有品牌销售给用户;二是国家开放增值电信业务经营许可,让有能力的企业自己成立品牌,经营呼叫中心业务,也就是VOIP网络电话业务。
其中《中华人民共和国增值电信业务经营许可证》的办理需要又需要具备三个条件:
1、注册资金1000万以上;
2、有相关的设备、技术人员、服务器机房;
3、有10000人以上10年之前的通话记录。
请问大家VOIP是什么?
VoIP是建立在IP技术上的分组化、数字化传输技术,其基本原理是:通过语音压缩算法对语音数据进行压缩编码处理,然后把这些语音数据按IP等相关协议进行打包,经过IP网络把数据包传输到接收地,再把这些语音数据包串起来,经过解码解压处理后,恢复成原来的语音信号,从而达到由IP网络传送语音的目的。IP电话系统把普通电话的模拟信号转换成计算机可联入因特网传送的IP数据包,同时也将收到的IP数据包转换成声音的模拟电信号。经过IP电话系统的转换及压缩处理,每个普通电话传输速率约占用8~11Kbit/s带宽,因此在与普通电信网同样使用传输速率为64kbit/s的带宽时,IP电话数是原来的5~8倍。
VoIP的核心与关键设备是IP电话网关。IP电话网关具有路由管理功能,它把各地区电话区号映射为相应的地区网关IP地址。这些信息存放在一个数据库中,有关处理软件完成呼叫处理、数字语音打包、路由管理等功能。在用户拨打IP电话时,IP电话网关根据电话区号数据库资料,确定相应网关的IP地址,并将此IP地址加入IP数据包中,同时选择最佳路由,以减少传输时延,IP数据包经因特网到达目的地IP电话网关。对于因特网未延伸到或暂时未设立网关的地区,可设置路由,由最近的网关通过长途电话网转接,实现通信业务。
目前VoIP系统一般由IP电话终端、网关(Gateway)、网守(Gatekeeper)、网管系统、计费系统等几部分组成。IP电话终端包括传统的语音电话机、PC、IP电话机,也可以是集语音、数据和图象于一体的多媒体业务终端。由于不同种类的终端产生的数据源结构是不同的,要在同一个网络上传输,这就要由网关或者是通过一个适配器进行数据转换,形成统一的IP数据包。IP电话网关提供IP网络和电话网之间的接口,用户通过PSTN本地环路连接到IP网络的网关,网关负责把模拟信号转换为数字信号并压缩打包,成为可以在因特网上传输的IP分组语音信号,然后通过因特网传送到被叫用户的网关端,由被叫端的网关对IP数据包进行解包、解压和解码,还原为可被识别的模拟语音信号,再通过PSTN传到被叫方的终端。这样,就完成了一个完整的电话到电话的IP电话的通信过程。关守实际上是IP电话网的智能集线器,是整个系统的服务平台,负责系统的管理、配置和维护。关守提供的功能有拨号方案管理、安全性管理、集中帐务管理、数据库管理和备份、网络管理等等。网管系统的功能是管理整个IP电话系统,包括设备的控制及配置,数据配给,拨号方案管理及负载均衡、远程监控等。计费系统的功能是对用户的呼叫进行费用计算,并提供相应的单据和统计报表。计费系统可以由IP电话系统制造商提供,也可以由第三方制作,但此时需IP电话系统制造商提供其软件数据接口。在实现方式上,VoIP有电话机到电话机、电话机到PC、PC到电话机和PC到PC等4种方式。最初VoIP方式主要是PC到PC,利用IP地址进行呼叫,通过语音压缩、打包传送方式,实现因特网上PC机间的实时话音传送,话音压缩、编解码和打包均通过PC上的处理器、声卡、网卡等硬件资源完成,这种方式和公用电话通信有很大的差异,且限定在因特网内,所以有很大的局限性。电话到电话即普通电话经过电话交换机连到IP电话网关,用电话号码穿过IP网进行呼叫,发送端网关鉴别主叫用户,翻译电话号码/网关IP地址,发起IP电话呼叫,连接到最靠近被叫的网关,并完成话音编码和打包,接收端网关实现拆包、解码和连接被叫。对于电话到PC或是PC到电话的情况,是由网关来完成IP地址和电话号码的对应和翻译,以及话音编解码和打包。
什么是VOIP
什么是VoIP?
--------------------------------------------------------------------------------
发布时间:2006年5月17日
VoIP(VoiceoverInternetProtocol)是一种以IP电话为主,并推出相应的增值业务的技术。
VoIP可以在IP网络上便宜的传送语音、传真、视频、和数据等业务,如统一消息、虚拟电话、虚拟语音/传真邮箱、查号业务、Internet呼叫中心、Internet呼叫管理、电视会议、电子商务、传真存储转发和各种信息的存储转发等。
使用VOIP的主要优点
把VOIP集成到集中器或RAS中,企业将进入一个充满机遇的新世界。如果该企业是服务提供商或传输服务提供商,则能够向用户提供附加业务。如果是远程用户,则访问过程将明显简化。
增加利润--造就机遇--企业不再单纯依靠从用户的按时计费应用或主机使用中获取利润。服务提供商和传输服务提供商现在可以在传统业务基础上提供话音、传真、多媒体业务。由于这些企业长期通过企业局域网和PSTN建立连接,这一连接关系可以随着业务的增长而继续。
例如,有了VOIP,接入业务提供商,包括互联网服务提供商(ISP)和传输服务者可以实现Points-of-Presence(POPs)和上下驿站网关服务。VOIP网关功能支持PC-to-Phone和Phone-to-PC业务,可通过基于IP的网络进行实时通信,造就新的商业机会。
企业节支和接入的优点--对于依靠PSTN使用话音和传真业务的企业,节约的开支是十分可观的。VOIP通过绕过PSTN的方式,最终减少计费。用市话的价格,用户可以在任何时间向全球任何地方发送传真或拨打电话。另外,新的HiPer接入的VOIP功能将使用户可以通过在POTS线上建立的连接,接入企业内部网络、检查电子邮件、使用互联网和收听话音邮件。而且,话音邮件或电子邮件经过检查后,远程用户就可以接通从PC机上接入的电话了。这一功能节约的费用和增加的就业机会将使该企业更具竞争力
怎样打开VOIP与SIP
打开SIP功能的方法,适用于JB2,JB3,JB5:
请在alps\mediatek\config\product_nam\ProjectConfig.mk中,将MTK_SIP_SUPPORT置为yes即可
打开SIP功能的方法,适用于JB2之前的版本:
1. 在文件alps\mediatek\config\product_name\android.software.sip.voip.xml中添加如下代码
2. 在文件alps\mediatek\config\product_name\android.software.sip.xml
允许SIP使用GPRS,仅针对GB, GB2,GB3:
在文件alps\frameworks\base\core\res\res\values\Config.xml中将
true
修改为
false
注:JB2,JB3,JB5版本中SIP call功能与OP02互斥,不可以同时开启。
原因是由于运营商的某些原因不允许开启Sip功能。
如希望同时使用,可以修改mk去除互斥条件:
/alps/mediatek/build/addon/core/android_dep_rule.mak中去掉以下内容
############################################################
ifneq ($(filter OP02%, $(OPTR_SPEC_SEG_DEF)),)
ifeq ($(strip $(MTK_SIP_SUPPORT)),yes)
$(call dep-err-common, Please do not set OPTR_SPEC_SEG_DEF as OP02* or set MTK_SIP_SUPPORT as no)
endif
endif
1、VOIP基于SIP协议,SDK2.3包含一个SIP协议栈和框架API
2、VOIP位于android.net.sip包中,最重要的为SipManager类,可开发基于SIP的VOIP应用。使用时要包含android.permission.INTERNET和android.permission.USE_SIP权限
3、如果在market中显示仅支持VOIP API幸好的手机的话,发布时需要在androidManifest.xml中加入和
4、要支持SIP API
(1)仅Android2.3或更高版本平台支持
(2)不是所有设备都提供SIP支持,确保你的APP只安装在支持SIP的装置上
5、根据GOOGLE官方DEMO项目来扩展的概念
二、类及方法描述
1、一个基本的VOIP项目至少需要三个类SIPSettings(对SIP的基本设置身份验证)、WalkieTalkieActivity(登录到SIP设备供应商,注册device去处理来电,拨打电话,在通话过程中用户界面管理)、IncomingCallReceiver(监听传入的SIP电话,然后传递这些SIP电话给WalkieTalkieActivity控制)
2、
WalkieTalkieActivity
A、SipManager.newInstance()-->此方法中首先判断context是否支持SIP API,若支持则new SipManager。SipManager构造函数中,实例化了一个ISIPService(运用的公式:
IBinder b =ServiceManager.getService(Context.SIP_SERVICE); //获取系统相应的服务
ISipService service = ISipService.Stub.asInterface(bIBinder);)
上面这两句代码其实是使用了AIDL,就以SipService为例,步骤如下
Service端
1、编写aidl文件:ISipService.aidl,并定义使用的接口(就等同于interface一样)
2、使用makefile生成与之同名的JAVA文件,SipService.java,此类继承extends ISipService.Stub并实现接口定义的方法或者在SipService extends Service,并代码中加入
ISipService.stub sipImpl = new ISipService.stub(){
//实现其接口方法,在SipService.java中是实现了一个名为start()的方法,里面有句是ServiceManager.addService("sip",newSipService(context));表示SipService已经交给ServiceManager统一管理了
}
Client端
一(以SIPService为例)
1、而在需要用到SipService时,也就是我们构造SipManager的时候,就通过ServiceManager.getService(Context.SIP_SERVICE)获得SIP的服务(类型为IBinder)
2、并调用 ISipService.Stub.asInterface(IBinder);去获取一个SipService实例(前提是该Service一定是通过ServiceManager.addService的方式添加进去管理的,这样才能找到此Service)
二(以普通Activity为例)
1、利用Intent intent = new Intent(Activity.this,SipService.class);-->bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE);来绑定SERVICE,在serviceConnection的onServiceConnected方法中,使用IService.stub.asIntentface(IBinder);来获取实例
B、SipManager创建好后,先从SharedPreference中获取username,domain及pwd,如果第一次进来没有设置这些的话则需要先创建账户,这里用EditTextPreference来保存用户信息,好处是当填写信息并返回后,EditTextPreference会自动将值放入SharedPreference中。我们假设username="woody";domain="192.168.12.30";pwd="910913"
C、这时,我们的SipManager以及用户信息已经设定好了,接下来使用了这句SipProfile.Builder builder = new
SipProfile.Builder(username, domain);我们去看看SipProfile.Builder中做了些什么:
SipURI mUri =mAddressFactory.createSipURI(username,serverDomain);
SipProfile mProfile.mDomain=serverDomain; //设置domain
(在mAddressFactory.createSipURl方法中,我选取了一些核心代码)
StringBuffer uriString=new StringBuffer("sip:");
uriString.append(user);
uriString.append("@");
//if host is an IPv6 string we should enclose it in sq brackets
if(host.indexOf(':') !=host.lastIndexOf(':')&&host.trim().charAt(0) !='[')
host='['+host+']';
uriString.append(host);
StringMsgParser smp=new StringMsgParser();
SipUrl sipUri=smp.parseSIPUrl(uriString.toString());
return sipUri;
从以上代码可以看出其实就是在Format SipURL罢了,里面多加了个if host为IPV6的判断(IPv4为为32位,十进制;IPv6为128位,16进制)。urlString最后为"sip:woody@192.168.12.30",smp.parseSIPUrl()方法中,有关于是如何parse的就不做阐述了,总之最后返回了一个SipUri
D、接下来就是SipProfile sipProfile = SipProfile.Builder.build(); //返回一个SipProfile object
在SipProfile.Builder.build()中,设置了sipProfile的pwd值,删除了之前SipUrl对象里的
password(mUri.setUserPassword(null);)、将sipProfile的address属性设置为AddressImpl类型的对象值、调用AddressFactory.createURI返回一个SipUri,并sipProfile.mProxyAddress=sipUri.getHost();
E、创建PendingIntent对象:(Intent与PendingIntent区别在于Intent是及时启动,而PendingIntent是不立刻反应,在特定的情况或通知下才启动,适用于AlertClock等)
Intent i = new Intent();
i.setAction("android.SipDemo.INCOMING_CALL");
PendingIntent pi = PendingIntent.getBroadcast(this, 0, i, Intent.FILL_IN_DATA);
F、
SipManager.open(sipProfile,PendingIntent,null); //(实际是SIPService在做操作)设置localSIPProfile的callingID-->建立SIP连接(算是注册至SIP Server)-->打开receiveCall
其中建立SIP连接,最后能追溯到是在SipSessionGroup.java的reset()方法中通过是注册服务器实现的,
注册服务器的步骤为:
(1)设置服务器的属性,例如服务器的地址(IP_ADDRESS_PROP)、栈名(javax.sip.STACK_NAME)、发出去的路径(localProfile中的javax.sip.OUTBOUND_PROXY)、线程池的大小(gov.nist.javax.sip.THREAD_POOL_SIZE)等,并且将这些属性加载到服务器中.
(2)通过SipFactory的静态方法取得一个实例,然后通过SipFactory实例sipfactory
(3)创建一个SipStack实例sipstack(这一步获得IP_ADDRESS_PROP,String address = Properties.getProperty("javax.sip.IP_ADDRESS");)
(4)用sipstack创建一个SipProvider实例sipProvider
(5)注册SipListener
G、A~F步骤都是在做准备工作,大致的步骤如下:new SIPService-->new SIPManager-->设定用户信息-->new SIPURI-->new SIPProfile-->new PendingIntent-->set sipProfile callingID-->(if profile.getAutoRegistation)open toReceiveCalls-->register SipService
现在是call someone~呼叫的工作是SipAudioCall类来完成(可用sipManager.makeAudioCall或takeAudioCall来实例化,SipAudioCall.startAudio时需要 RECORD_AUDIO, ACCESS_WIFI_STATE, and WAKE_LOCK permissions,
化,SipAudioCall.startAudio时需要 RECORD_AUDIO, ACCESS_WIFI_STATE, and WAKE_LOCK permissions,setSpeakerMode() 时需要MODIFY_AUDIO_SETTINGS permission)
【1】当需要呼叫时,使用sipManager.makeAudioCall(String localProfileURI, String peerProfileURI, SipAudioCall.listener,int timeout);来创建一个SipAudioCall,其中timeout以seconds为单位,过了timeout表示打电话超时。需要打给别人时使用makeAudioCall创建,接听电话用takeAudioCall来创建sipAudioCall
【2】SipAudioCall中有一个嵌套的class:SipAudioCall.Listener(此类主要用于监听SIP CALL,when[呼叫电话 or 接听电话])
SipAudioCall.Listener listener = new SipAudioCall.Listener() {
@Override
public void onCallEstablished(SipAudioCall call) { //呼叫建立
call.startAudio(); //启动音频
call.setSpeakerMode(true); //调整为可讲话模式
call.toggleMute(); //触发无声
updateStatus(call);
}
};
SipAudioCall call = manager.makeAudioCall(me.getUriString(), sipAddress, listener, 30);
(以上例子为makeAudioCall)
【3】我们看看makeAudioCall()方法(makeAudioCall requires 2 sipProfile):
SipAudioCall call =new SipAudioCall(mContext, localProfile);
call.setListener(listener); //这两句很简单就是创建一个local的sipAudioCall
SipSession s = createSipSession(localProfile, null); -->mSipService.createSession(localProfile, null);// sipService来创建session,并保存在SipSessionGroupExt中
call.makeCall(peerProfile,s,null); //这句就是呼叫,最后追溯到实际是SipSession.makecall
总结:在发起通话中
首先是创建SipAudioCall.listener,以便监听对话建立和对话结束,然后做相应的操作
然后是SipManager.makeAudioCall(localAdd,llistener,XXXX),在makeAudioCall方法中
A、创建一个sipAudioCall(localProfile)
B、创建SipSession以建立起会话
C、SipSession.makeCall(peerProfile,XXXX); //SipSession呼叫远程profile
【4】关于接电话道理都差不多,takeAudioCall
通过之前设置的callingID来查找mSipService.getPendingSession(callId);来获得SipSession。并创建SipAudioCall,然后attachCall就算接受电话了
支持VOIP SIP协议的手机有哪些
你好!
第一个问题:SIP是一个应用层协议,和VoIP一样,是需要应用软件来支持的。但是这些应用软件需要一个强大的操作系统来支持。一般来说,高端的手机操作系统都支持,比如说S60,windows,apple等。
2,GPRS流量也支持VoIP通话的,只是效果不好,但是WiFi的接入就不错。你需要在手机上下载软件使用,比如说Skype,nibuzzz等。
3,其实3g的资费和2g差不多。如果你使用VoIP软件的话,一般打电话是8—11k/s,这具体要看你有多少的通话量了。也就是说30M的流量你大概可以打半个多小时。注意,使用GPRS流量是双向收费的,因为和你通话的对方也会产生数据流量。对方的流量消耗和你差不多。
4。我想在第3问已经回答了,还有什么问题可以继续提问。