无法使用 sip_us 包从我的 flutter 移动应用程序在 Twilio sip 域中注册 sip

问题描述 投票:0回答:1

我在 flutter 应用程序中使用 sip_ua 包与 twilio sip 域建立 sip 连接。我已经使用 Zoiper 测试了我的 sip 域,它工作正常,并且我可以在我的 Twilio SIP 域上看到注册的 sip 数据。但是,当我尝试在 flutter 应用程序中使用与 sip_ua 包相同的凭据时,它不起作用并给我一个错误。我错过了什么吗?在这里被困了三个星期。任何帮助将非常感激。

下面是我用来注册 Twilio 的 SIP 数据。

这些是我用来与 Twilio 建立 SIP 连接的凭据,使用

sip_ua^1.0.0
包:

final SIPUAHelper helper = SIPUAHelper();
final UaSettings settings = UaSettings();
helper.addSipUaHelperListener(this);
settings.webSocketUrl = "wss://flu.sip.us1.twilio.com:443"; // Twilio WSS URL
settings.uri = "sip:[email protected]"; // SIP URI
settings.authorizationUser = '101'; // Authorization user (username)
settings.password = '*******'; // Password for SIP user
settings.displayName = 'Display name';

settings.register_expires = 3600;
await helper.start(settings);
helper.register();

***下面是我收到的响应错误日志。

`I/flutter (25365): [2024-09-06 21:56:32.925] Level.debug websocket_interface.dart:87 ::: connecting to WebSocket wss://flu.sip.us1.twilio.com:443
I/flutter (25365): [2024-09-06 21:56:32.951] Level.info websocket_dart_impl.dart:26 ::: connect wss://flu.sip.us1.twilio.com:443, {}, [sip]
I/flutter (25365): [2024-09-06 21:56:33.7] Level.debug ua.dart:183 ::: register()
I/flutter (25365): [2024-09-06 21:56:33.11] Level.warning registrator.dart:135 ::: <sip:[email protected];transport=wss>;+sip.ice;reg-id=1;+sip.instance="<urn:uuid:43dc2fcf-d8e8-4904-9b6d-54effaf231a7>"
I/flutter (25365): [2024-09-06 21:56:33.33] Level.debug transport.dart:145 ::: send()
I/flutter (25365): [2024-09-06 21:56:33.35] Level.error transport.dart:148 ::: unable to send message, transport is not connected. Current state is 1
I/flutter (25365): transport.dart:151
I/flutter (25365): non_invite_client.dart:46
I/flutter (25365): request_sender.dart:74
I/flutter (25365): registrator.dart:274
I/flutter (25365): ua.dart:185
I/flutter (25365): sip_ua_helper.dart:73
I/flutter (25365): webrtc_service.dart:92
I/flutter (25365): [2024-09-06 21:56:33.39] Level.debug non_invite_client.dart:53 ::: transport error occurred, deleting transaction z9hG4bK3870384
I/flutter (25365): [2024-09-06 21:56:33.46] Level.debug sip_ua_helper.dart:179 ::: registrationFailed => Code: [500], Cause: SIP Failure Code, Reason: Connection Error
I/flutter (25365): Registration state changed-------------------------RegistrationStateEnum.REGISTRATION_FAILED
...
I/flutter (25365): [2024-09-06 21:58:46.721] Level.debug websocket_interface.dart:167 ::: WebSocket wss://flu.sip.us1.twilio.com:443 closed
I/flutter (25365): [2024-09-06 21:58:46.724] Level.debug sip_ua_helper.dart:158 ::: disconnected => Code: [0], Cause: error, Reason: Client send disconnect
I/flutter (25365): Transport state changed-------------------------TransportStateEnum.DISCONNECTED
I/flutter (25365): [2024-09-06 21:58:46.727] Level.debug transport.dart:183 ::: reconnection attempt: 2. next connection attempt in 4 seconds
I/flutter (25365): [2024-09-06 21:58:46.731] Level.error websocket_interface.dart:131 ::: close() | error closing the WebSocket: Null check operator used on a null value`
flutter twilio sip pjsip sip-server
1个回答
0
投票

Zoiper 工作正常,因为它使用 TCP/TLS/UDP 传输。 Sip_ua 使用 websocket ws/wss 传输,Twilio 不支持: Twilio sip 呼叫无法从 tryit.jssip.net 工作。

作为替代解决方案,请检查 Siprix flutter 插件 https://github.com/siprix/FlutterPlugin, 它可以通过 TCP/TLS/UDP 建立 SIP 连接并使用 webrtc 进行媒体。

© www.soinside.com 2019 - 2024. All rights reserved.