Articles of voip

聊天和VOIP申请

我已经成功安装了Openfire XMPP服务器并构建了一个Android应用程序来进行文本聊天,如何在我的应用程序中实现VOIPfunction? 可以通过将openfire与SIP服务器连接来完成吗? 有人可以指导我吗?

android是否支持用于实现RTP的API,用于VoIP和PTT项目的RTSP?

我将在Android上制作一个PTT项目。 你能告诉我Android有多深入支持开发人员的语音和多媒体API(如RTP,RTSP,VoIP)吗?

无法访问互联网的Android VOIP应用程序

我需要在两个Android设备之间开发VOIP应用程序。 据我所知,有一个用于此目的的SIP协议,但它需要注册到SIP服务器并访问互联网以进行SIP信令。 有没有办法在没有互联网接入的情况下在Android中创建VOIP应用程序?

sip stack for iphone和android

我正在寻找Android和iPhone的SIP堆栈。 我发现了很多类似的问题,这些问题有时很老……如果解决方案是商业(但这是首选)或开源,我不会太在意。 到目前为止我find了 RADVISION for Android的商业解决方案 适用于iPhone的开源SIPHONE LINPHONE涵盖两个平台。 Gingerbreadhas内置SIP堆栈 – 但似乎它有一些限制,可能会被MNO删除… 我的问题是: 有没有人对上述解决方案有好/坏经验? 您是否使用上述解决方案开发和发布应用程序? 适用于iPhone / iPad的任何商业SIP堆栈提供商? 非常感谢STeN

使用多个PeerConnection的WebRTC会议质量

使用Peer to Peer呼叫非常简单,并在用户之间提供清晰的音频。 在一些解决方法中,我们使用多个PeerConnections创建了WebRTC源会议。 也许这不是最好的方式,但它是可能的,而且对于小团体来说足够了,比如3-4个连接。 在我们的例子中,每个连接都没问题,但是对于某些特定设备,我们的音频质量非常糟糕。 对于此示例,Nexus 6p和Nexus 5与Android 6.0。 也许这个非常具体的问题,但它只适用于这些设备和Android 6.0。 所以在将一些设备更新到Android 7.0后解决问题,但它仍然有线。 我们检查了连接统计信息,并且每件事都看起 网络没有丢失,没有特定的比特率,等等。只有一个区别,我们捕获的是它的抖动缓冲区值。 在其他设备上,我们有几个PeerConnection,我们收到大约120个预期和130个实际。 与此值的差异在2 – 5左右。但是在设备有问题的情况下,预期的抖动为20且实际为240.在所有方面使用Opus编解码器,并从SDP设置采样比特率。 我还是不知道主要原因,还有计算Jitter Buffer,这只是猜测。 是的,也许还有其他方法可以召开会议? 或者使用多个PeerConnection的奇怪行为是什么。 因为会议质量还不好,我们找不到很长时间的解决方案。 而且,解决上述问题的正确方法是什么? 我认为不仅在这种情况下我遇到了会议质量问题或设备特定问题。 谢谢。

是否可以将VoiP呼叫转发到GSM

是否可以将Android手机用作简单的GSM网关? 手机将使用(最好)Android内置SIP堆栈接收VoiP呼叫,启动GSM呼叫,并双向桥接音频。 一个呼叫终止后,另一个呼叫也结束。 我怎么能解决这个问题? 我之前的尝试未能在连接之间桥接音频。 是否有支持SDK的方式,我错过了? 或者我是否需要实施某种解决方法?

在Marshmallow上的Whatsapp / Viber / Line / Skype等VOIP应用程序的锁定屏幕上的来电

我们计划发布基于Twilio Voice SDK的Android应用程序更新。 我们的客户想要更原生的体验,他们可以直接看到接受或拒绝电话的屏幕(就像Skype / Whatsapp / Viber / Line等),而不是点击通知然后点击对话框。 此外,这也应该在锁定屏幕上工作。 截至目前,我已成功在我的应用程序中打开一个活动并显示接受或拒绝按钮。 它适用于应用程序处于前台或后台时。 这是实现这一目标的代码片段。 我已经修改了VoiceFirebaseMessagingService.java中的notify()方法,以便在为来电通知调用onMessageRecived时显示活动。 private void notify(CallInvite callInvite, int notificationId) { String callSid = callInvite.getCallSid(); if (callInvite.getState() == CallInvite.State.PENDING) { soundPoolManager.playRinging(); System.out.println(“Disabling keyguard and accquiring wake lock”); Intent intent = new Intent(this, OnCallActivityNew.class); intent.setAction(OnCallActivityNew.ACTION_INCOMING_CALL); intent.putExtra(OnCallActivityNew.INCOMING_CALL_NOTIFICATION_ID, notificationId); intent.putExtra(OnCallActivityNew.INCOMING_CALL_INVITE, callInvite); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); PendingIntent pendingIntent = PendingIntent.getActivity(this, […]

如何在Android上使用PJSIP?

我失去了几个小时的搜索和阅读。 我真的不明白如何使用PJSIP 。 我有一些问题: 你能解释一下在为Android开发时这个库是如何使用的吗? 当我构建库时,我只使用Java代码还是defintely我将不得不用C ++编写? 我的目标是为Android加密VOIP应用程序。 有没有关于所有方法,字段和构造函数的描述的良好文档? 你有没有参考一些教程或样本?

SipRegistrationListener回调不会被触发

我正在尝试运行从Google Andoid示例应用程序下载的SIPDemo,但无法让它运行。 我面临的问题是,在我调用SipManager.open传递一个配置文件和一个待定的意图后,它应该开始与SIP提供商的注册过程,在我的情况下,我使用已经注册的帐户进行连接。 但是SipRegistrationListener中的回调都没有被触发。 不确定应用程序是否能够注册的天气,应用程序甚至能够连接到SIP服务器。 另请注意,我在SipManager.open调用中将null作为listner传递,但在下一行中通过调用SipManager.setRegistrationListener提供侦听器。 下面是我在下载后稍微修改过的FullScreenActivity的完整代码。 public class CallActivity extends AppCompatActivity { private static final String INTENT_INCOMING_CALL = “android.SipDemo.INCOMING_CALL”; private static final String TAG_CALL_ACTIVITY = “CallActivity”; public String sipAddress = “yyyyyyyyyyy”; public SipManager mSIPManager; public SipProfile mLocalSIPProfile; public SipAudioCall mSIPAudioCall; public IncomingCallReceiver mCallReceiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_call); ActionBar actionBar = […]

Android SIP SSL

我在Android 2.3.4中使用SIP堆栈,一切都运行良好。 但是,我需要系统使用SSL,并创建了以下代码: 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 = PendingIntent.getBroadcast(this, 0, i, Intent.FILL_IN_DATA); manager.open(me, pi, registrationListener); 不幸的是,setOutboundProxy()调用中的TLS位似乎什么也没做。 任何人都可以建议如何使用内置SIP堆栈的SSL? 我真的不想使用pjsip,因为应用程序正在工作,所以需要大量重写才能使用pjsip。 谢谢,艾德