SIP PHONE ELEMENT
====================
ELEMENT DESCRIPTION
--------------------------------
SIP PHONE ELEMENT provides VoIP inbound and outbound calling capability to your app, leveraging your existing SIP provider or server.
STEP-BY-STEP SETUP
--------------------------------
0) Retrieves from your SIP server or provider the values that will be set in PHONE ELEMENT FIELDS.
1) Add the SIP PHONE ELEMENT to the page on which SIP calling capability must be used.
2) Integrate the logic into your application using the following SIP PHONE, states and actions:
EVENTS :
- ERROR : Triggers when an error is encountered.
- PHONE STARTS RINGING : Triggers when the phone starts ringing. Useful to set an audio player on.
- PHONE STOPS RINGING : Triggers when the phone stops ringing. Useful to set an audio player off.
- CALL ON HOLD : Triggers when the call is on hold.
- CALL RESUMED : Triggers when the call is resumed.
- NOTIFY EVENT : Triggers when a NOTIFY event is received.
EXPOSED STATES:
- INCOMING CALLER ID : Contains the Incoming Caller ID. Populated only for incoming calls.
- CALL ID : Contains the CALL ID when provided by the server.
- STATUS : Valid values are: registered (phone ready to initiate or receive calls) |connecting (connecting to remote peer) | in-progress (call in progress) | on-hold | unregistered (phone unregistered from the server) | disconnected (connection attempt (or automatic re-attempt fails)
- IS INCOMING CALL RINGING? : Boolean set to yes when an incoming phone call event occurs, no otherwise.
- START TIME : Contains the Start Time of the latest call.
- END TIME : Contains the End Time of the latest call.
- LATEST ERROR : Contains the latest encountered error.
- NOTIFY CUSTOM HEADERS : Contains a list of custom headers of NOTIFY event. Populated upon NOTIFY EVENT.
- NOTIFY BODY : Contains the body of NOTIFY event. Populated upon NOTIFY EVENT.
ELEMENT ACTIONS - TRIGGERED IN WORKFLOW:
- REGISTER : Register the user against the SIP Server.
- WSS SIP SERVER URI : WebSocket URI of the SIP server to connect to. If not specified ports 80 and 443 are taken for non secure WebSocket connections and connections over SSL/TLS, respectively. Example: wss://sip-ws.example.com:8443/
- REALM : SIP Realm (Domain) the user account will be authenticated against. Example: sipdomain.com
- LOGIN : Login of the SIP user account.
- PASSWORD : Password of the SIP user account.
- DEBUG : Enable SIP traffic debugging in browser's console.
- UNREGISTER : Unregister the user from the SIP Server.
- CALL : Place a call, using Phone number of the recipient.
- ACCEPT CALL : Accept an incoming call.
- DECLINE CALL : Decline an incoming call.
- TERMINATE CALL : Terminate an in-progress call.
- TRANSFER CALL (BLIND) : Blind Transfer the current call to another user. Blind transfer is when a call is routed to a third party, the original call is ended, and no check is made to determine whether the transferred call is answered or if the number is busy.
- TARGET NUMBER : Number to transfer the call to.
- REALM : SIP Realm (Domain) of the number the call will be transferred to. Example: sipdomain.com
- SEND DTMF TONE : Send a DTMF Tone on the current session.
- TONE : Text composed by a single valid DTMF symbol.
- HOLD CALL : Puts the call on hold.
- RESUME CALL : Resume the call that is onhold.
IMPLEMENTATION EXAMPLE
======================
Feel free to browse the app editor in the Service URL for an implementation example.
TROUBLESHOOTING
================
Any plugin related error will be posted to the the Logs tab, "Server logs" section of your App Editor.
Make sure that "Plugin server side output" and "Plugin server side output" is selected in "Show Advanced".
> Server Logs Details:
https://manual.bubble.io/core-resources/bubbles-interface/logs-tab#server-logsPERFORMANCE CONSIDERATIONS
===========================
GENERAL
-------------
N/A
QUESTIONS ?
===========
Contact us at
[email protected] for any additional feature you would require or support question.