标签: voip

直接IP呼叫android

我正在创建一个 Android 应用程序,其中客户端可以在不使用 SIP 代理(服务器)的情况下互相呼叫。

我下载了CSipSimple,它有一个“本地”选项,本地网络中的客户端可以直接互相呼叫。

如果我连接到移动网络怎么办?如果我知道目的地的公网IP,我可以直接打电话给他吗?

如果您可以推荐满足上述要求的其他应用程序,请提及。

谢谢

ip android voip sip

1
推荐指数
1
解决办法
4820
查看次数

SIP注册流程

要通过 VoIP 拨打电话,用户需要先注册。所以注册是强制性的。我对注册过程有一些基本了解。用户向服务器发送 REGISTER 请求,其过期标头值为 30 秒。服务器收到用户的请求后,会发送带有过期标头值 120 秒的响应。用户需要在expire header时间段结束之前或60秒之前再次注册。注册完成后,注册服务器将在位置服务器中发送用户的 uri 和位置。因此用户的位置将出现在位置服务器中。如果位置服务器有用户的位置,那么为什么用户需要在时间段结束之前再次注册。而且用户只需要在该时间段之前重新注册一次还是多次?用户 ip 将在位置服务器中存在多长时间?

voip sip

1
推荐指数
1
解决办法
4135
查看次数

Linphone opus 编解码器采样率

我想在 linphone 中使用 opus 编解码器

但我在使用它时遇到了一些问题。如果具有 opus 编解码器知识的人可以帮助我,我将不胜感激。如何强制音频采样方案为 8000 Hz?目前,它仅使用 48000 Hz。

提前致谢

voip sip linphone opus linphone-sdk

1
推荐指数
1
解决办法
2249
查看次数

如何隐藏SIP连接

我正在开发SIP移动软电话,客户需要完全隐藏从软电话到SIP服务器的SIP消息,因为VOIP呼叫是区域性禁止的,但是使用TLS连接是不够的,因为消息标题很容易被识别为SIP消息.最常见的替代方案是什么?怎么样openvpn,IPSec隧道?

security encryption voip sip hide

0
推荐指数
1
解决办法
1673
查看次数

是否有一种与 SIP/VOIP 无关的方式来知道电话何时脱机?

处理需要在电话上监控呼叫活动/状态的 SIP 应用程序。我的应用程序 (UA) 已在代理服务器上注册,被监控的手机也是如此。我正在使用 SUBSCRIBE/NOTIFY 消息告诉手机我想知道它的“对话”事件,一旦订阅,这工作正常。我遇到了两个问题:

  1. 我要求订阅时长为 900 秒,并且始终从手机返回 4000+ 秒的荒谬数量。

  2. 当订阅处于活动状态时,电话可能会被拔掉(不要问,但是,是的,这是一种可能性)。发生这种情况时,我不会收到有关电话不再可用的任何类型的通知。因此,我必须等待我的订阅超时,尝试更新它,处理失败并创建一个新订阅。

我意识到我可以在订阅到期之前更新我的订阅,但有没有更好的方法来解决这个问题?例如,我能否获得“存在”事件并使用它们来知道电话何时在那里?这些事件是否总是保证在手机启动时发生,即使如此,由于中间有一个代理,我是否会收到通知,或者我仍然不知道手机重新启动并且不再识别我的订阅( s)?这些“存在”更新是我可以从代理请求的吗?

任何见解都会很棒;目前,我将简单地尝试以更短的时间间隔刷新我的订阅,但我很想知道是否有更好的方法来解决它。提前致谢。

voip sip

0
推荐指数
1
解决办法
565
查看次数

Kamailio中的自定义SIP标头

我需要在Lua脚本中设置Kamailio 3.3.1中的自定义标头.理论上我可以在配置脚本中设置一个这样的 -

append_hf("X-MyHeader: myvalue\r\n");
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何从Lua脚本中调用它,这是我首选的地方.我的CFG文件中有以下内容 -

modparam("app_lua", "load", "/usr/local/etc/kamailio/lua/kamailio.lua")
modparam("app_lua", "register", "sl")
modparam("app_lua", "register", "rr")
modparam("app_lua", "register", "tm")
Run Code Online (Sandbox Code Playgroud)

而且我的Lua脚本可以正常工作.文档似乎暗示append_hf()是textops模块的一部分,但我看不到将它暴露给Lua脚本的方法.

请任何人帮助我理解这一点,或者建议另一种方法来实现我的目标?

voip sip kamailio

0
推荐指数
1
解决办法
2681
查看次数

pushRegistry:didUpdate:pushCredentials未被调用

查看过去关于此的问题,但这些问题的答案已经应用于我的项目,但是没有调用pushRegistry()委托方法.

首先是这里的代码:

import UIKit
import PushKit
import UserNotifications

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate{

    var window: UIWindow?
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        let notificationSettings  = UIUserNotificationSettings(types: [.badge, .sound, .alert], categories: nil)
        application.registerUserNotificationSettings(notificationSettings)

        UNUserNotificationCenter.current().delegate = self
        UIApplication.shared.registerForRemoteNotifications()

        let voipRegistry = PKPushRegistry(queue: DispatchQueue.main)
        voipRegistry.desiredPushTypes = Set([PKPushType.voIP])
        voipRegistry.delegate = self;

        return true
    }
...
}

extension AppDelegate: PKPushRegistryDelegate {
    func pushRegistry(_ registry: PKPushRegistry, didUpdate pushCredentials: PKPushCredentials, for type: PKPushType) {
        NSLog("voip token: \(pushCredentials.token)")
    }
Run Code Online (Sandbox Code Playgroud)

已启用以下应用程序功能: - 推送通知 …

voip ios pushkit

0
推荐指数
1
解决办法
789
查看次数

从 php 脚本发送时未收到 VoIP 推送通知

我已经使用 tokbox 进行视频通话,并按照此处的步骤实现了 VoIP 推送通知。

当脚本在后端运行时,它显示推送已成功发送,但应用程序端未收到 VoIP 推送。

当应用程序成功接收 APNs 通知时。

任何人都可以为此提出解决方案吗?

xcode voip swift pushkit

0
推荐指数
1
解决办法
1168
查看次数

未调用 reportNewIncomingCall 完成

reportNewIncomingCall完成参数不会被调用,这意味着我没有得到任何反馈,为什么我的VOIP应用程序不显示呼叫接收警报。

    func reportIncomingCall(uuid: UUID, handle: String, hasVideo: Bool = false, completion: ((NSError?) -> Void)?) {
    // 1.
    let update = CXCallUpdate()
    update.remoteHandle = CXHandle(type: .phoneNumber, value: handle)
    update.hasVideo = hasVideo

    // 2.
    provider.reportNewIncomingCall(with: uuid, update: update) { error in
        if error == nil {
            // 3.
            let call = Call(uuid: uuid, handle: handle)
            self.callManager.add(call: call)
        }

        // 4.
        completion?(error as? NSError)
    }
}
Run Code Online (Sandbox Code Playgroud)

我是从Ray Wanderlich 教程中获取的

我尽可能准确地复制了代码。它适用于教程,但不适用于我的项目。

voip swift callkit

0
推荐指数
1
解决办法
803
查看次数

如何从应用程序拨打 WhatsApp 电话 - Swift

我想从我的应用程序中向联系人拨打 WhatsApp 电话,我已经搜索了很多,但没有找到任何答案,似乎仅限于操作系统,但这些问题有点过时了

例如:从 iOS 应用程序以编程方式进行 WhatsApp 呼叫的 URL 方案(语音呼叫 VOIP)?

以及:如何从 iOS 应用程序拨打 WhatsApp 电话?

也在 WhatsApp 文档中:https://faq.whatsapp.com/iphone/how-to-link-to-whatsapp-from-a- Different-app

我想知道 2021 年是否可能

谢谢

voip ios whatsapp swift

0
推荐指数
1
解决办法
1744
查看次数

标签 统计

voip ×10

sip ×6

swift ×3

ios ×2

pushkit ×2

android ×1

callkit ×1

encryption ×1

hide ×1

ip ×1

kamailio ×1

linphone ×1

linphone-sdk ×1

opus ×1

security ×1

whatsapp ×1

xcode ×1