com.innovaphone.conference-transcriptions

This API can be used to obtain audio transcriptions from conferences and to receive summaries of the transcripts.

Messages

SubscribeStatus
StartTranscription
StopTranscription
SubscribeListen
UnsubscribeListen
GetSummary
GetTranscript

SubscribeStatus

sends a transcription status subscription request for a conference room. By subscribing, you will receive SubscribeStatusInfo messages that indicate whether a transcript of the room is currently in progress and provide the GUID required to retrieve the transcript and the summary. The GUID will be sent as soon as the transcription of the conference room is started.

{
    mt:  "SubscribeStatus",
    sip: "endeavour",
    pin: "1234"
}

Parameters

string mtmessage type [mandatory]
string sip the sip of the conference room [mandatory]
string pin the pin of the conference room if required [optional]

Response

{
    mt:      "SubscribeStatusResult",
    error:   "Connection to transcription service could not be established!"
}

Parameters

string mtmessage type (is "SubscribeStatusResult")
string errorin case of an error that error is sent here [optional]

Response Info

{
    mt:    "SubscribeStatusInfo",
    on:    true,
    guid:  "aab3f080f57c4e6f9ecee23194d3eeeb",
    error: "INTERNAL SERVER ERROR",
    end:   true
}

Parameters

string mtmessage type (is "SubscribeStatusInfo")
bool ontrue when actually transcribing, false when some error occured e.g. audio signal to weak
string guidGlobally Unique Identifier created for that transcript
string errorThe error occured if the transcript failed [optional]
bool endis true when the call ended [optional]

StartTranscription

Starts transcription for a given conference room.

{
    mt:  "StartTranscription",
    sip: "softconference?room=10",
    pin: "1234"
}

Parameters

string mtmessage type [mandatory]
string sip the sip of the conference room [mandatory]
string pin the pin of the conference room if required [optional]

Response

{
    mt:   "StartTranscriptionResult",
    guid: "aab3f080f57c4e6f9ecee23194d3eeeb"
}

Parameters

string mtmessage type (is "StartTranscriptionResult")
string guidGlobally Unique Identifier created for that transcript

StopTranscription

Stops an ongoing transcription session.

{
    mt:  "StopTranscription",
    sip: "softconference?room=10",
    pin: "1234"
}

Parameters

string mtmessage type [mandatory]
string sip the sip of the conference room [mandatory]
string pin the pin of the conference room if required [optional]

Response

{
    mt: "StopTranscriptionResult"
}

Parameters

string mtmessage type (is "StopTranscriptionResult")

SubscribeListen

Subscribes to real-time transcription updates during a conference.

{
    mt:  "SubscribeListen",
    sip: "softconference?room=10",
    pin: "1234"
}

Parameters

string mtmessage type [mandatory]
string sip the sip of the conference room [mandatory]
string pin the pin of the conference room if required [optional]

Response

{
    mt: "SubscribeListenResult"
}

Response Info

{
    mt:               "SubscribeListenInfo",
    speaker:          "John Doe",
    text:             "Welcome everyone to the meeting.",
    sentenceComplete: true,
    end:              false
}

Parameters

string mtmessage type (is "SubscribeListenInfo")
string speakerName or identifier of the speaker
string textTranscribed text
bool sentenceCompleteTrue if the sentence is complete
bool endTrue if the transcription session has ended

UnsubscribeListen

Stops receiving real-time transcription updates.

{
    mt:  "UnsubscribeListen",
    sip: "softconference?room=10",
    pin: "1234"
}

Parameters

string mtmessage type [mandatory]
string sip the sip of the conference room [mandatory]
string pin the pin of the conference room if required [optional]

Response

{
    mt: "UnsubscribeListenResult"
}

Parameters

string mtmessage type (is "UnsubscribeListenResult")

GetSummary

Retrieves a summary of the transcription session.

{
    mt:   "GetSummary",
    guid: "aab3f080f57c4e6f9ecee23194d3eeeb"
}

Parameters

string mtmessage type [mandatory]
string guidGlobally Unique Identifier of the transcript [mandatory]

Response

{
    mt:      "GetSummaryResult",
    summary: "Meeting covered project updates, budget planning, and next steps."
}

Parameters

string mtmessage type (is "GetSummaryResult")
string summarySummary of the transcription session

GetTranscript

Retrieves the full transcript of a transcription session.

{
    mt:   "GetTranscript",
    guid: "aab3f080f57c4e6f9ecee23194d3eeeb"
}

Parameters

string mtmessage type [mandatory]
string guidGlobally Unique Identifier of the transcript [mandatory]

Response

{
    mt:        "GetTranscriptResult",
    transcript: "John: Welcome everyone...\nJane: Thanks John..."
}

Parameters

string mtmessage type (is "GetTranscriptResult")
string transcriptFull transcript of the session

Example

You can consume the API com.innovaphone.conference-transcriptions and send request to it. Inside the callback you can access the response text via recv.msg.message.content


    var conferenceTranscriptionsApi = start.consumeApi("com.innovaphone.conference-transcriptions");
    var guid = null;

    // Start transcription
    function startTranscription() {
    conferenceTranscriptionsApi.sendSrc({ mt: "StartTranscription", sip: "softconference?room=10", pin: "1234" }, conferenceTranscriptionsApi.providers[0], onStart);
    }

    // Callback for StartTranscription
    function onStart(recv) {
    guid = recv.msg?.guid;
    setTimeout(stopTranscription, 10000);
    }

    // Stop transcription
    function stopTranscription() {
    conferenceTranscriptionsApi.sendSrc({ mt: "StopTranscription", pin: "1234" }, conferenceTranscriptionsApi.providers[0], onStop);
    }

    // Callback for StopTranscription
    function onStop(recv) {
    setTimeout(getSummary, 10000);
    }

    // Get summary
    function getSummary() {
    conferenceTranscriptionsApi.sendSrc({ mt: "GetSummary", guid: guid }, conferenceTranscriptionsApi.providers[0], onSummary);
    }

    // Callback for GetSummary
    function onSummary(recv) {
    console.log(recv.msg.summary);
    }

    startTranscription();