怎样打开VOIP与SIP
SIP函数的打开方法适用于JB2、JB3、JB5:请在Alps\ mediatek\ config\ proct_ Nam\ projectconfig. MK中将MTK_SIP_SUPPORT设置为yes,适用于JB2: 1之前的版本 。在文件ALPS\ mediatek\ config\ proct_ name\ Android. software. sip. VoIP. XML中添加以下代码 。允许sip在ALPS\ mediatek\ config\ proct_ name\ Android. software. SIP. XML文件中使用GPRS,仅适用于GB、GB2、GB3:在ALPS\ Frameworks\ base\ core\ RES\ RES\ values\ config. XML文件中修改true为false注意:在JB2、JB3、JB5版本中,SIP呼叫功能与OP02互斥,不能同时启动 。原因是由于运营商的一些原因,不允许启动Sip功能 。如果想同时使用,可以修改mk删除排除条件:/Alps/mediatek/build/addon/core/Android_ dep_ rule. mak删除以下内容# # # # # # # # # # # # # # # # # # ifneq($(filterOP02 %,$(OPTR_SPEC_SEG_DEF)),)ifeq($(strip$(MTK_SIP_SUPPORT)),yes) $(calldep-err-common请勿将OPTR_ spec_ seg_ def设置为op02 *或将MTK_ SIP_ support设置为no) EndifEndif1、VOIP基于SIP协议,SDK2.3包含一个SIP协议栈和框架API2,VOIP位于android.net.sip包中,最重要的是SipManager类,可以开发基于SIP的VOIP应用 。配合android.permission.INTERNET和android.permission.USE_SIP权限使用 。3.如果市面上展示的是只支持VOIPAPI的手机,发布时需要在androidManifest.xml中添加and4来支持SIPAPI(1)仅Android2.3或更高平台支持(2)并非所有设备都提供SIP支持 。确保您的应用仅安装在支持SIP的设备上 。5.根据谷歌官方演示项目的概念扩展 。2.对类和方法的描述 。1.一个基本的VOIP项目至少需要三类SIPsettings(SIP的基本设置认证),WalkieTalkieActivity(登录SIP设备供应商,注册设备处理来电,拨打电话,管理通话过程中的用户界面),IncomingCallReceiver(监控来电SIP呼叫,然后传递给WalkieTalkieActivity控件)2,WalkieTalkieActivity,SIPManager 。newinstance()-在这个方法中,首先判断上下文是否支持SIPAPI,如果支持,新建SipManager 。在SipManager构造函数中,实例化了一个isipservice(formula:Ibinderb=servicemanager. getservice(context. sip_ service)) 。//获取系统对应的服务,isipservice=isipservice. stub. asinterface(bibinder);)上面两个代码其实用的是aidl 。以SipService为例 。步骤如下:1 .写AIDL文件:isipService 。AIDL,并定义使用的接口(就像接口)2 。使用makefile生成同名的JAVA文件,SipService.java,这个类继承扩展iSIP服务 。存根并实现接口定义的方法或添加iSIP服务 。stubSiIPimpl=新的iSIP服务 。stub(){//实现它的接口方法 。在SipService.java实现了一个叫start()的方法,有一句话叫ServiceManager.addService(“si
p”,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 bracketsif(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的就不做阐述了,总之最后返回了一个SipUriD、接下来就是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)注册SipListenerG、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() {@Overridepublic 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的sipAudioCallSipSession 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就算接受电话了
【media5fone pro voip sip如何这是vpn】
文章插图
关于voip电话的几个问题 asterisk 软件 openwrt路由器 sip协议最简单的方案,也是最省钱的方案,如下:1. 任意一个地点,部署一个最低配置的电脑,比如奔四3.0之类的,安装 asterisk即可 。这个地方的路由器做端口映射,把asterisk映射到公网,使用花生壳进行动态域名方式进行管理 。这就是主服务器,对3个地方的通话进行管理的 。同时这个地方,还需要购买一个sip网关,注册到asterisk上面即可 。单口的比较便宜,几百元即可 。2. 另外2个地方,安装2个单口网关,和前面那个一样,注册到asterisk上面 。3. 互相可以内部免费通话了,OK!你的方案1是正确的 。你的方案3,只是解决了3个地方连接的问题,没解决通话问题 。因为你要求是免电脑,所以你的方案3是不完整的,还是需要网关或者网络话机这样的硬件来解决通话问题 。asterisk,简单的说,相当于一个电信公司的管理系统,对系统内的账号(市面上的座机号码,手机号码)进行开户、激活、锁定、计费、音频及视频业务、传真业务等业务综合处理的一套系统 。freeiris 其实就是在asterisk上面进行修改的中文版,系统的内核就是asterisk的 。
怎么在手机上用SIP打网络电话nokia手机本身自带wifi及voip网络电话设置nokia手机本身自带wifi及voip网络电话设置(特别是E系统和N系统非大*陆行货手机,由于大际行货手机阉割了wifi功能和sip设置功能而不能用) 。微道普voipdoup网络电话设置在手机上使用和安装在电脑上的拨号方式和费率全部一样:国际线路打国际电话拨号格式是:不要00的国际代码加电话号码(中国手机:86加手机号 中国固话:86加不要0的区号加电话号码)费率按费率表收,打中国1角一分钟 。国内线路拨号格式:手机:0加手机号,固话:要0的区号打电话号码,打中国电话不分市话长途1角一分钟微道普网络电话内部对打:888加6位数网站登录账号,免费对打下面以E51为例详细说明微道普(voipdoup)网络电话在这一系统手机上的使用:1,首先进入“功能表”-“设置”-“连接”-“sip设置”如下图:[img]http://www.voipdoup.org/images/Screenshots/Screenshot0001.jpg[/img][img]http://www.voipdoup.org/images/Screenshots/Screenshot0002.jpg[/img][img]http://www.voipdoup.org/images/Screenshots/Screenshot0003.jpg[/img] 2,打开“sip设置”选择“新建sip模式”-“使用默认情景模式”:情景模式名称改为”voipdoup”,服务情景模式为:IETF(wifi接入模式选择这个,3G连接选择诺基亚3gpp)默认接入点:[color=red]选择你的wifi搜索到可以使用的无线路由名称[/color](我的为[url=http://www.voipdoup.org/]www.voipdoup.org[/url] )公共用户名:[color=red]5位数voipdoup账号加[/color]@sip.voipdoup.com(我的为[email=99999@sip.voipdoup.com]99999@sip.voipdoup.com[/email])使用压缩:否注册:始终注册使用安全机制:否代理注册服务器见下面代理服务器地址:sip.voipdoup.com安全域:asterisk用户名:[color=red]voipdoup5位数的账号(我的为99999)[/color]密码:[color=red]voipdoup注册时给你的密码(我的就不告诉你了:)[/color]允许宽松路由:是传输类型:UDP端口:5060注册服务设置见下面注册服务器:sip.voipdoup.com安全域:asterisk用户名:[color=red]voipdoup5位数的账号(我的为99999)[/color]密码:[color=red]voipdoup注册时给你的密码(我的就不告诉你了:)[/color]允许宽松路由:是传输类型:UDP端口:5060设置见下图:[img]http://www.voipdoup.org/images/Screenshots/Screenshot0004.jpg[/img][img]http://www.voipdoup.org/images/Screenshots/Screenshot0005.jpg[/img][img]http://www.voipdoup.org/images/Screenshots/Screenshot0006.jpg[/img][img]http://www.voipdoup.org/images/Screenshots/Screenshot0007.jpg[/img][img]http://www.voipdoup.org/images/Screenshots/Screenshot0008.jpg[/img][img]http://www.voipdoup.org/images/Screenshots/Screenshot0009.jpg[/img][img]http://www.voipdoup.org/images/Screenshots/Screenshot0010.jpg[/img][img]http://www.voipdoup.org/images/Screenshots/Screenshot0011.jpg[/img][img]http://www.voipdoup.org/images/Screenshots/Screenshot0012.jpg[/img] 4,“sip电话设置”好后,再返回选择“互联网电话”,选”默认”再选择,名称:默认”,sip情景模式为voipdoup见下图:[img]http://www.voipdoup.org/images/Screenshots/Screenshot0013.jpg[/img][img]http://www.voipdoup.org/images/Screenshots/Screenshot0014.jpg[/img][img]http://www.voipdoup.org/images/Screenshots/Screenshot0015.jpg[/img] 5,返回待机时就可以拨号,拨号后选择”ok”键,在出现的”呼叫”下选择”互联网电话呼叫”如下图:[img]http://www.voipdoup.org/images/Screenshots/Screenshot0016.jpg[/img][img]http://www.voipdoup.org/images/Screenshots/Screenshot0017.jpg[/img][img]http://www.voipdoup.org/images/Screenshots/Screenshot0018.jpg[/img][img]http://www.voipdoup.org/images/Screenshots/Screenshot0019.jpg[/img] 6,如果要相互免费对打另一个拨号是888加voipdoup的6位数账号,别人用voipdoup打进来时,也可以直接接听 。,在话机上还可以设置首先默认用网络电话打出去:设置方式是:“功能表”-“设置”-“手机”-“通话”发送本手机号码:网络预设发送互联网电话地址:开互联网电话呼叫等待:已启动互联网电话提示:开默认电话类型:互联网电话(拨出去默认为网络电话,失败后自动转成手机语音通话)[img]http://www.voipdoup.org/images/Screenshots/Screenshot0021.jpg[/img][img]http://www.voipdoup.org/images/Screenshots/Screenshot0022.jpg[/img][img]http://www.voipdoup.org/images/Screenshots/Screenshot0023.jpg[/img][img]http://www.voipdoup.org/images/Screenshots/Screenshot0000.jpg[/img]求采纳
文章插图
VOIP SIP RTP 端口问题常用的封杀手段:1. 封端口;2. 封杀协议包;封端口比较好解决,改端口就行,封协议就很难了,解决办法是使用私有协议 。比如 SKYPE 就是最典型的例子 。还有一个办法是使用 VPN 方式来防封杀,客户端和服务端使用VPN,也可以实现防封杀的目的 。
本人有一个sip语音网关,但运营商找不到了,请问我的这个网关如何才能接入到其他的voip系统中去?找到新的VOIP系统,索取相关设置资料,然后根改设置看可不可以 。我想其它的VOIP系统是有这个技术的 。网关参数大同小异应该可以的 。
文章插图
什么是VOIP电话,VOIP电话如何安装和调试以及日常维护工作晕,楼上的不要大段大段的写书好不好,最讨厌这种回答问题的方式了,回楼主:1 。VOIP电话就是voice over ip,语音走网络 。2 。VOIP电话目前常用的就是软硬两种 。软的就是安装在电脑上的,像QQ的语音一样,不过可以打倒普通电话上 。目前主流是Skype,UUCALL,GBPhone,REDVIP等硬的,就是专门的话机,网关等设备,内置专门的芯片,不再需要普通电话处理 。3 。安装和维护要看具体设备,软件的都很容易,大型网关可能有点难度,4 。具体产品可以找厂家网站下文档 。也可以去VOIP专业论坛去找高手解决5 。中秋快乐,祝好运 。
推荐阅读
- win7重装鼠标键盘失灵 mfc 鼠标左键选择区域的颜色如何像win7桌面的选择区域透明颜色,win7鼠标没反应
- 如何调出选项栏 mac电脑用简体拼音输入文字时文字选项栏如何能紧随在我的光标位置,ai属性栏怎么设置
- 最好用的linux应用 linux服务器运行中在哪些方面产生瓶颈如何测试,linux性能调优
- 为什么设置50日均线 k线图中如何设置510203060日均线,短线高手的均线设置
- ps拉绳模式 ps如何制作绳子,ps绳子缠绕效果
- 第一次玩跳d感觉怎么样 情趣跳蛋如何使用,跳dan是啥
- 豆腐包的馅怎么做好吃 如何做豆腐包,做豆腐粘包布怎么办
- 秋天围巾怎么围好看 秋天如何系围巾,秋天适合带围脖吗
- 怎么查自己公司税率 公司的税率是多少在哪里查,怎么查询公司开票税率