Table of Contents

wrtc

wrtc is an object of class wrtcObject that is automatically created by wrtc_kit.js

It takes care of connecting to local media, different events that occur, and starting calls and group calls.

Users should not edit anything inside wrtc_kit.js nor compress it in any way. Include it unchanged into your projects.

wrtc API

The wrtc object can be controlled using function calls and properties and it generates events.

Properties

wrtc.acceptAudio request audio in calls
wrtc.acceptVideo request video in calls
wrtc.addressName unique username / SIP address
wrtc.app descriptive application name
wrtc.audioDestination select local audio destination (speaker)
wrtc.audioSource select local audio source (microphone)
wrtc.camOnBetweenCalls keep camera on when no calls
wrtc.displayName user's informal, descriptive name
wrtc.getAudio access local microphone
wrtc.getVideo access local camera
wrtc.localVideo video object used to show local camera image
wrtc.maxNrCalls maximum number of simultaneous calls allowed
wrtc.nam wrtc object name
wrtc.objType object type
wrtc.sipAlias user's SIP alias (secondary SIP account)
wrtc.sipAuthName user's SIP authentication (login) name
wrtc.sipHa1 hash sum of the user's SIP password
wrtc.sipPassword user's SIP password
wrtc.videoBandwidth max transmitted video bandwidth
wrtc.videoSource select local video source (video)
wrtc.workgroups list of workgroups user is member of
wrtc.wsServer IXNX server's address

adv

Advanced properties that are usually not needed to be changed. In non-basic use cases however they might need to be adjusted.

wrtc.adv.autoGroup accept incoming calls during setup of group call automatically
wrtc.adv.callTo call address automatically after page has been loaded
wrtc.adv.clientID unique client ID
wrtc.adv.dialDTMF dial DTMF sequence automaticly at beginning of call
wrtc.adv.dtmfInfo send DTMF both inband and outband on Chrome
wrtc.adv.getMedia access local media at once or at call
wrtc.adv.groupBridgeAddr address of voice bridge used in group call
wrtc.adv.groupBridgeDname display name of voice bridge used in group call
wrtc.adv.groupID unique ID of group call
wrtc.adv.logSize maxsize of internal log
wrtc.adv.multiConn allow multiple connections to same user
wrtc.adv.requestBandwidth max received video bandwidth
wrtc.adv.stunServer URL to STUN server if other than IXNX unit's built-in one
wrtc.adv.template select wrtc template to use
wrtc.adv.turnEnabled enable use of TURN server
wrtc.adv.turnPwd TURN server password, if required
wrtc.adv.turnServer URL to TURN server if other than IXNX unit's built-in one
wrtc.adv.videoConstraints image quality of local camera

Functions

wrtc.addToGroupCall() add calls to group call
wrtc.call() call a remote user
wrtc.callGroup() create group call with multiple remote users
wrtc.changeCredentials() change user adress, name, etc
wrtc.changeMedia() change local media source (mic/cam)
wrtc.consoleLog() log entry to internal log
wrtc.fetchRESTtoken() load REST authentication token using HTTP GET
wrtc.findCallByPartner() get call currently in call with address
wrtc.forceHttps() reload page in https
wrtc.get() get read-only parameter
wrtc.getCall() get first matching call object
wrtc.getCalls() get all matching call objects
wrtc.getCookie() get a cookie value
wrtc.getList() get a list from IXNX server
wrtc.getScreen() start screensharing
wrtc.getURLvar() get URL tag value
wrtc.getURLvars() decode preconfigured URL tag values
wrtc.hangup() finish all matching calls
wrtc.init() object initialization function
wrtc.inviteGroup() start group call
wrtc.is() get read-only boolean parameter
wrtc.moduleLog() log entry to internal log
wrtc.muteCam() mute local camera
wrtc.muteMic() mute local microphone
wrtc.removeFromGroupcall() remove call from group call
wrtc.saveFile() save to local file
wrtc.sendChatMessage() send text message
wrtc.sendFile() file transfer
wrtc.setAudioDestination() set local audio destination (speaker)
wrtc.setCaptureDevice() change local media source (mic/cam)
wrtc.setList() store a list on IXNX server
wrtc.setRESTtoken() set REST authentication token
wrtc.setSIPPresence() publish SIP presence status
wrtc.setSIPSubscribe() subscribe to SIP presence status
wrtc.setTimeout() call object after timeout, if object still exists
wrtc.stopFile() stop file transfer

adv

Advanced functions, for advanced users.

wrtc.adv.createLoopBackCall() start local call (for volume measurement)
wrtc.adv.getLog() request log from remote user
wrtc.adv.getTokenVal() extract public value from REST token
wrtc.adv.idleDetect() start/stop user activity monitoring
wrtc.adv.newGroupLink() create group call link
wrtc.adv.saveLog() save log to local file
wrtc.adv.sendLog() send log to remote user
wrtc.adv.sendWrtcCmd() send user command to remote user
wrtc.adv.stop() close web socket and terminate wrtc object (permanent stop)
wrtc.adv.stopLocalStream() stop primary access to unit's camera and microphone
wrtc.adv.stopLoopBackCall() end local call
wrtc.adv.volumeMeter() measure audio volume

Events

Functions called by wrtc_kit when special events occur.

wrtc.onAuthenticate() authentication requested
wrtc.onAuthenticateFailed() IXNX server did not accept you as user
wrtc.onChatMessage() chat message received
wrtc.onChatMessageError() chat messaging failed
wrtc.onConnecting() call in progress of being established
wrtc.onDataReceived() data has been received on data channel
wrtc.onDenied() user denied incoming call
wrtc.onDisconnected() call disconnected
wrtc.onEarlyMedia() media (audio) received during setup of call
wrtc.onEndCallObject() call object about to be destroyed
wrtc.onError() an error has occurred
wrtc.onFileProgress() file transfer in progress
wrtc.onFileReceived() a complete file has been received
wrtc.onGotHungUp() person you called denies or ends call
wrtc.onGotMuted() remote client muted/unmuted its mic or cam
wrtc.onHold() call has been put on hold or retrieved by other end
wrtc.onHungUp() local user ended call
wrtc.onIdle() user become inactive or active again
wrtc.onIncomingCall() someone has called you
wrtc.onIncomingGroupCall() call from other member of group call
wrtc.onIncompatibleVersion() incompatible communication protocols
wrtc.onInviteGroupProgress() group call setup progress status
wrtc.onIsTalking() current talker in group call
wrtc.onJoinGroup() group call invitation has been received
wrtc.onList() list received from IXNX server
wrtc.onLocalMedia() got access to local mic/cam, or failed to do so
wrtc.onLoggedIn() IXNX server accepted you
wrtc.onLoggedOut() IXNX server logged you out
wrtc.onMaintenanceMessage() maintenance message received
wrtc.onMultiuserChanged() connection lists multiple users
wrtc.onNeedRESTtoken() REST authentication token about to expire
wrtc.onNewCallObject() new call object created
wrtc.onOnlineList() list of users connected to IXNX server
wrtc.onReconnecting() call interrupted, trying to reconnect
wrtc.onRejected() IXNX server rejected command
wrtc.onRemoteStreamStalled() no media received from other end of call
wrtc.onRinging() other end's phone is ringing
wrtc.onSIPPresence() presence status of a subscribed person changes
wrtc.onSIPRawInfo() SIP INFO packet received
wrtc.onSIPRegistration() SIP registration results
wrtc.onSources() list of audio and video sources has been populated (Chrome only)
wrtc.onStats() statistics about received media stream (Chrome only)
wrtc.onTalking() call has been established
wrtc.onTranscription() voice to text transcription
wrtc.onTransferred() call has been transferred
wrtc.onVisible() web page becomes visible or hidden
wrtc.onVolume() volume sample
wrtc.onWebsocket() websocket connection to IXNX server opened, closed or failed
wrtc.onWrtcCmd() user command received

All events are part of the wrtc object - even events that were raised by eg the call object. For such events you need to examine the object supplied as argument to be able to determine eg which call raised the event.