A websocket client in flutter making use of Janus SIP plugin
- UI/UX built in pure Dart
- Networking/Signalling using SIP over Websockets
- Audio handled by (flutter-webrtc)
- Tested with OpenSIPS, Freeswitch.
- Should also work with Kamalio and Asterisk (TODO)
- Change all instances of the following to:
- Connection to Janus Server Gateway is handled in the following file: janus.dart
_channel = new IOWebSocketChannel.connect('ws://localhost:8188', protocols: ['janus-protocol']);
- Change
localhost
value to{{ janus_server }}
IP
Ensure that you have flutter and emulator/simulator installed to test
Verify everything is flutter installation is available and configured
$ flutter doctor
Clone the project onto machine
$ git clone https://github.com/chikondot/janusSIPclient.git
$ cd maswerasei
Build/Run the project
flutter clean
flutter pub get
flutter run
[ TODO: Complete this section ]
- application should have opened within emulator/device
- please note to allow permissions for calling and audio
- presented with screen below:
- User input on Registration :
- SIP Registrar (eg: sip:host:port)
- SIP Identity (eg: sip:username@janus.example.com)
- Username: account information of SIP register server
- Secret: password for authentication
Ensure terminal locale is set to en_US.UTF-8
[WIP]
Feature | Android | iOS |
---|---|---|
Audio | X | X |
Video | X | X |
Transfer | X | X |
DTMF | X | X |
JanusSIPClient is released under the MIT license.