sip_ua 0.2.4

Flutter Android iOS

A dart-lang version of the SIP UA stack.

dart-sip-ua #

A dart-lang version of the SIP UA stack, ported from JsSIP.

Overview #

  • Use pure dart-lang
  • SIP over WebSocket (use real SIP in your flutter mobile, desktop, web apps)
  • Audio/video calls (flutter-webrtc) and instant messaging
  • Support with standard SIP servers such as OpenSIPS, Kamailio, Asterisk and FreeSWITCH.

Currently supported platforms #

  • [X] iOS
  • [X] Android
  • [X] Web
  • [X] macOS
  • [ ] Linux
  • [ ] Windows
  • [ ] Fuchsia

Install #

Android #

  • Proguard rules:
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.**  { *; }
-keep class io.flutter.util.**  { *; }
-keep class io.flutter.view.**  { *; }
-keep class io.flutter.**  { *; }
-keep class io.flutter.plugins.**  { *; }

-keep class com.cloudwebrtc.webrtc.** {*;}
-keep class org.webrtc.** {*;}

Quickstart for Web platform #

flutter doctor
  • Run:
flutter channel beta
flutter upgrade
flutter config --enable-web
git clone https://github.com/cloudwebrtc/dart-sip-ua.git
cd dart-sip-ua/example
flutter create .
flutter pub get
flutter run -d chrome

Application should have loaded in Chrome.

Register with SIP server:

In the application, enter connexion settings by clicking the top-right hamburger menu, then click Accounts

  • Click Register
    • If registration is ok, it should say Status: Registered at the top
    • If it fails to register, open Chrome Dev tools and looks for errors in the Javascript Console.

Calling:

  • Once registered, click the top-left Back Arrow to return to keypad.
  • Enter a phone number
  • Click the green phone icone

NOTE #

Thanks to the original authors of JsSIP for providing the JS version, which makes it possible to port the dart-lang.

Sponsors #

The first version was sponsored by Suretec Systems Ltd. T/A SureVoIP.

Contributing #

The project is inseparable from the contributors of the community.

License #

dart-sip-ua is released under the MIT license.