Skip to content

Latest commit

 

History

History
71 lines (44 loc) · 1.57 KB

README.md

File metadata and controls

71 lines (44 loc) · 1.57 KB

ringcentral-pjsip

Use PJSIP to create RingCentral device simulators.

Technical Reference: slides.

Setup

docker build -t ringcentral-pjsip .
cp credentials.sample.hpp credentials.hpp

Edit credentials.hpp and specify credentials.

Run

docker run -it --rm -v $(pwd):/ringcentral-pjsip ringcentral-pjsip ./run.sh <file-name>.cpp

For example:

docker run -it --rm -v $(pwd):/ringcentral-pjsip ringcentral-pjsip ./run.sh demos/call-and-play-wav-file.cpp

Test

Call the phone number associated with your RingCentral device.

Todo

  • How to deploy to AWS?
  • Add demo about microphone and speaker
  • high concurrence
    • one application to handle handreds of calls

Miscellaneos

How to gererate wav file for testing

say -o temp.wav --data-format=LEI16@48000 "Hello world"

Command above convert text "Hello world" to temp.wav file.

BUT this file doesn't have proper headers.

In order to fix it, we need ffmpeg:

ffmpeg -i temp.wav hello.wav

Dev notes

How to run a docker bash:

docker run --rm -it ringcentral-pjsip /bin/bash

Emergency Address

If you change your device's emergency address on service.ringcentral.com, sometimes the emergency address will be pending or failure to change.

If it happens, your cannot make any outbound calls. Server side will reply with SIP/2.0 486 Busy Here if you try to make outbound calls.