right  Talk To Us!

Cloud Web Services Text Translation

Text Translation

This describes the web services that relate to text translation.

Aculab Cloud uses Google Translate to perform text translation.

 This is a low level API. For information on higher level APIs see the Web Services Language Wrappers
  • Translate

    This API takes a PUT or POST request with the text to be translated in the request body. The text must be submitted as plain text encoded in utf-8. The maximum content size is 102400 characters. The URL parameters are used to specify the source and target language codes.

    Authorisation

    This API uses basic authentication, using your cloud account username and API Access Key.

    Username : cloudID/username (e.g. 1-2-0/bob@example.com)
    Password : API Access key

    Request:

    Url:https://ws.aculabcloud.net/translate/v1/translate
    Methods:PUT, POST

    ParameterRequired/OptionalDescription
    target_languagerequiredThe language code of the intended translation Use a language code from Translation Languages.
    source_languageoptionalThe language code of the source text. If not specified the source language will be detected. However we recommend specifying the source language to improve accuracy. Use a language code from Translation Languages.

    Returns:

    A JSON object with the following parameters:

    ParameterTypeAvailabilityDescription
    request_id string always a unique ID for this request.
    target_language_name string always the English name of the requested target language.
    detected_source_language string when the request has not specified a source language the language code of the detected source language.
    source_language_name string always the English name of the requested or detected source language.
    translation string always the translated text.

    Example:

    https://ws.aculabcloud.net/translate/v1/translate?target_language=es

    With the body containing "The text to be translated".

    Response:

      {
        "request_id": "tr-23b2cc6d_1.0066bcb579.000008",
        "target_language_name": "Spanish",
        "detected_source_language": "en",
        "source_language_name": "English",
        "translation": "El texto a traducir"
      }
  • Supported Languages

    This returns a list of objects detailing the supported languages.

    Authorisation

    This API uses basic authentication, using your cloud account username and API Access Key.

    Username : cloudID/username (e.g. 1-2-0/bob@example.com)
    Password : API Access key

    Request:

    Url:https://ws.aculabcloud.net/translate/v1/supported_languages
    Methods:GET

    Returns:

    A JSON array of objects describing the supported languages. The objects have the following parameters:

    ParameterTypeDescription
    language_namestringthe English name of the language.
    languagestringthe language code of the language.

    Example:

    https://ws.aculabcloud.net/translate/v1/supported_languages

    Response:

      [
        {
            "language_name": "Abkhaz",
            "language": "ab"
        },
        {
            "language_name": "Acehnese",
            "language": "ace"
        },
        ...
        {
            "language_name": "Zapotec",
            "language": "zap"
        },
        {
            "language_name": "Zulu",
            "language": "zu"
        }
      ]

Cloud Guides Translation Languages

Translation Languages

Aculab Cloud Translation supports over 240 languages. All of these languages can be used with text translation.

During live audio translation (e.g. using the Connect action with translator), speech is first converted to text using Speech Recognition. The translator then converts the text from the speech recognition language to text in the language that the Text To Speech (TTS) voice requires. It then uses TTS to play back the translated speech.

The table below shows the languages that can be used for text translation. It also details which speech recognition languages produce text that can be used as source text for each translation language and which TTS voices expect input text in each translation language.

Filter languages:
Language NameLanguage CodeSpeech Recognition LanguagesTTS Voices
Abkhaz ab
Acehnese ace
Acholi ach
Afar aa
Afrikaans af
Afrikaans (South Africa)
Albanian sq
Albanian (Albania)
Alur alz
Amharic am
Amharic (Ethiopia)
Arabic ar
Arabic (Algeria)
Arabic (Bahrain)
Arabic (Egypt)
Arabic (Iraq)
Arabic (Israel)
Arabic (Jordan)
Arabic (Kuwait)
Arabic (Lebanon)
Arabic (Mauritania)
Arabic (Morocco)
Arabic (Oman)
Arabic (Qatar)
Arabic (Saudi Arabia)
Arabic (State of Palestine)
Arabic (Syria)
Arabic (Tunisia)
Arabic (United Arab Emirates)
Arabic (Yemen)
Arabic Arabic Female Polly Hala Neural
Arabic Arabic Female Polly Zeina
Arabic Arabic Male Polly Zayd Neural
Arabic United Arab Emirates Female Polly Hala Neural
Arabic United Arab Emirates Male Polly Zayd Neural
Armenian hy
Armenian (Armenia)
Assamese as
Avar av
Awadhi awa
Aymara ay
Azerbaijani az
Azerbaijani (Azerbaijan)
Balinese ban
Baluchi bal
Bambara bm
Baoulé bci
Bashkir ba
Basque eu
Basque (Spain)
Batak Karo btx
Batak Simalungun bts
Batak Toba bbc
Belarusian be
Bemba bem
Bengali bn
Bengali (India)
Betawi bew
Bhojpuri bho
Bikol bik
Bosnian bs
Bosnian (Bosnia and Herzegovina)
Breton br
Bulgarian bg
Bulgarian (Bulgaria)
Buryat bua
Cantonese yue
Chinese, Cantonese (Traditional Hong Kong)
Cantonese China Female Polly Hiujin Neural
Catalan ca
Catalan (Spain)
Catalan Castile Female Polly Arlet Neural
Cebuano ceb
Chamorro ch
Chechen ce
Chichewa ny
Chinese (Simplified) zh-CN
Chinese (Simplified, China)
Chinese (Simplified, Hong Kong)
Mandarin China Female Polly Zhiyu
Mandarin China Female Polly Zhiyu Neural
Chinese (Traditional) zh-TW
Chinese (Traditional, Taiwan)
Chuukese chk
Chuvash cv
Corsican co
Crimean Tatar crh
Croatian hr
Croatian (Croatia)
Czech cs
Czech (Czech Republic)
Danish da
Danish (Denmark)
Danish Denmark Female Polly Naja
Danish Denmark Female Polly Sofie Neural
Danish Denmark Male Polly Mads
Dari fa-AF
Dinka din
Divehi dv
Dogri doi
Dombe dov
Dutch nl
Dutch (Belgium)
Dutch (Netherlands)
Dutch Belgium Female Polly Lisa Neural
Dutch Netherlands Female Polly Laura Neural
Dutch Netherlands Female Polly Lotte
Dutch Netherlands Male Polly Ruben
Dyula dyu
Dzongkha dz
English en
English (Australia)
English (Canada)
English (Ghana)
English (Hong Kong)
English (India)
English (Ireland)
English (Kenya)
English (New Zealand)
English (Nigeria)
English (Pakistan)
English (Philippines)
English (Singapore)
English (South Africa)
English (Tanzania)
English (United Kingdom)
English (United States)
English Australia Female Polly Nicole
English Australia Female Polly Olivia Neural
English Australia Male Polly Russell
English India Female Polly Aditi
English India Female Polly Kajal Neural
English India Female Polly Raveena
English Ireland Female Polly Niamh Neural
English New Zealand Female Polly Aria Neural
English South Africa Female Polly Ayanda Neural
English UK Female Polly Amy
English UK Female Polly Amy Neural
English UK Female Polly Emma
English UK Female Polly Emma Neural
English UK Male Polly Arthur Neural
English UK Male Polly Brian
English UK Male Polly Brian Neural
English US Female Cepstral Callie
English US Female Polly Danielle Neural
English US Female Polly Ivy
English US Female Polly Ivy Neural
English US Female Polly Joanna
English US Female Polly Joanna Neural
English US Female Polly Kendra
English US Female Polly Kendra Neural
English US Female Polly Kimberly
English US Female Polly Kimberly Neural
English US Female Polly Ruth Neural
English US Female Polly Salli
English US Female Polly Salli Neural
English US Male Polly Gregory Neural
English US Male Polly Joey
English US Male Polly Joey Neural
English US Male Polly Justin
English US Male Polly Justin Neural
English US Male Polly Kevin Neural
English US Male Polly Matthew
English US Male Polly Matthew Neural
English US Male Polly Stephen Neural
English Wales Male Polly Geraint
Esperanto eo
Estonian et
Estonian (Estonia)
Ewe ee
Faroese fo
Fijian fj
Filipino tl
Filipino (Philippines)
Finnish fi
Finnish (Finland)
Finnish Finland Female Polly Suvi Neural
Fon fon
French fr
French (Belgium)
French (Canada)
French (France)
French (Switzerland)
French Belgium Female Polly Isabelle Neural
French Canada Female Polly Chantal
French Canada Female Polly Gabrielle Neural
French Canada Male Polly Liam Neural
French France Female Polly Celine
French France Female Polly Lea
French France Female Polly Lea Neural
French France Male Polly Mathieu
French France Male Polly Remi Neural
Frisian fy
Friulian fur
Fulfulde ff
Ga gaa
Galician gl
Galician (Spain)
Ganda lg
Georgian ka
Georgian (Georgia)
German de
German (Austria)
German (Germany)
German (Switzerland)
German Austria Female Polly Hannah Neural
German Germany Female Polly Marlene
German Germany Female Polly Vicki
German Germany Female Polly Vicki Neural
German Germany Male Polly Daniel Neural
German Germany Male Polly Hans
Greek el
Greek (Greece)
Guarani gn
Gujarati gu
Gujarati (India)
Haitian Creole ht
Hakha Chin cnh
Hausa ha
Hawaiian haw
Hebrew he
Hebrew (Israel)
Hiligaynon hil
Hindi hi
Hindi (India)
Hindi India Female Polly Aditi
Hindi India Female Polly Kajal Neural
Hmong hmn
Hungarian hu
Hungarian (Hungary)
Hunsrik hrx
Iban iba
Icelandic is
Icelandic (Iceland)
Icelandic Iceland Female Polly Dora
Icelandic Iceland Male Polly Karl
Igbo ig
Iloko ilo
Indonesian id
Indonesian (Indonesia)
Irish Gaelic ga
Italian it
Italian (Italy)
Italian (Switzerland)
Italian Italy Female Cepstral Vittoria
Italian Italy Female Polly Bianca
Italian Italy Female Polly Bianca Neural
Italian Italy Female Polly Carla
Italian Italy Male Polly Adriano Neural
Italian Italy Male Polly Giorgio
Jamaican Patois jam
Japanese ja
Japanese (Japan)
Japanese Japan Female Polly Kazuha Neural
Japanese Japan Female Polly Mizuki
Japanese Japan Female Polly Tomoko Neural
Japanese Japan Male Polly Takumi
Japanese Japan Male Polly Takumi Neural
Javanese jv
Javanese (Indonesia)
Jingpo kac
Kalaallisut kl
Kannada kn
Kannada (India)
Kanuri kr
Kapampangan pam
Kazakh kk
Kazakh (Kazakhstan)
Khasi kha
Khmer km
Khmer (Cambodia)
Kiga cgg
Kikongo kg
Kinyarwanda rw
Kinyarwanda (Rwanda)
Kituba ktu
Kokborok trp
Komi kv
Konkani gom
Korean ko
Korean (South Korea)
Korean Korea Female Polly Seoyeon
Korean Korea Female Polly Seoyeon Neural
Krio kri
Kurdish (Kurmanji) ku
Kurdish (Sorani) ckb
Kyrgyz ky
Lao lo
Lao (Laos)
Latgalian ltg
Latin la
Latvian lv
Latvian (Latvia)
Ligurian lij
Limburgan li
Lingala ln
Lithuanian lt
Lithuanian (Lithuania)
Lombard lmo
Luo luo
Luxembourgish lb
Macedonian mk
Macedonian (North Macedonia)
Madurese mad
Maithili mai
Makassar mak
Malagasy mg
Malay ms
Malay (Malaysia)
Malay (Jawi) ms-Arab
Malayalam ml
Malayalam (India)
Maltese mt
Mam mam
Manx gv
Maori mi
Marathi mr
Marathi (India)
Marshallese mh
Marwadi mwr
Mauritian Creole mfe
Meadow Mari chm
Meiteilon (Manipuri) mni-Mtei
Minang min
Mizo lus
Mongolian mn
Mongolian (Mongolia)
Myanmar (Burmese) my
Burmese (Myanmar)
NKo bm-Nkoo
Nahuatl (Eastern Huasteca) nhe
Ndau ndc-ZW
Ndebele (South) nr
Nepalbhasa (Newari) new
Nepali ne
Nepali (Nepal)
Northern Sotho nso
Norwegian no
Norwegian Bokmål (Norway)
Norwegian Norway Female Polly Ida Neural
Norwegian Norway Female Polly Liv
Nuer nus
Occitan oc
Odia (Oriya) or
Oromo om
Ossetian os
Pangasinan pag
Papiamento pap
Pashto ps
Persian fa
Persian (Iran)
Polish pl
Polish (Poland)
Polish Poland Female Polly Ewa
Polish Poland Female Polly Maja
Polish Poland Female Polly Ola Neural
Polish Poland Male Polly Jacek
Polish Poland Male Polly Jan
Portuguese pt
Portuguese (Brazil)
Portuguese Brazil Female Polly Camila
Portuguese Brazil Female Polly Camila Neural
Portuguese Brazil Female Polly Vitoria
Portuguese Brazil Female Polly Vitoria Neural
Portuguese Brazil Male Polly Ricardo
Portuguese Brazil Male Polly Thiago Neural
Portuguese (Portugal) pt-PT
Portuguese (Portugal)
Portuguese Portugal Female Polly Ines
Portuguese Portugal Female Polly Ines Neural
Portuguese Portugal Male Polly Cristiano
Punjabi pa
Punjabi (Gurmukhi India)
Punjabi (Shahmukhi) pa-Arab
Q'eqchi' kek
Quechua qu
Romani rom
Romanian ro
Romanian (Romania)
Romanian Romania Female Polly Carmen
Rundi rn
Russian ru
Russian (Russia)
Russian Russia Female Polly Tatyana
Russian Russia Male Polly Maxim
Sami (North) se
Samoan sm
Sango sg
Sanskrit sa
Santali sat-Latn
Scots Gaelic gd
Serbian sr
Serbian (Serbia)
Sesotho st
Southern Sotho (South Africa)
Seychellois Creole crs
Shan shn
Shona sn
Sicilian scn
Silesian szl
Sindhi sd
Sinhala si
Sinhala (Sri Lanka)
Slovak sk
Slovak (Slovakia)
Slovenian sl
Slovenian (Slovenia)
Somali so
Spanish es
Spanish (Argentina)
Spanish (Bolivia)
Spanish (Chile)
Spanish (Colombia)
Spanish (Costa Rica)
Spanish (Dominican Republic)
Spanish (Ecuador)
Spanish (El Salvador)
Spanish (Guatemala)
Spanish (Honduras)
Spanish (Mexico)
Spanish (Nicaragua)
Spanish (Panama)
Spanish (Paraguay)
Spanish (Peru)
Spanish (Puerto Rico)
Spanish (Spain)
Spanish (United States)
Spanish (Uruguay)
Spanish (Venezuela)
Spanish Castile Female Polly Conchita
Spanish Castile Female Polly Lucia
Spanish Castile Female Polly Lucia Neural
Spanish Castile Male Polly Enrique
Spanish Castile Male Polly Sergio Neural
Spanish Mexico Female Polly Mia
Spanish Mexico Female Polly Mia Neural
Spanish Mexico Male Polly Andres Neural
Spanish US Female Cepstral Marta
Spanish US Female Polly Lupe
Spanish US Female Polly Lupe Neural
Spanish US Female Polly Penelope
Spanish US Male Polly Miguel
Spanish US Male Polly Pedro Neural
Sundanese su
Sundanese (Indonesia)
Susu sus
Swahili sw
Swahili (Tanzania)
Swati ss
Swati (Latin, South Africa)
Swedish sv
Swedish (Sweden)
Swedish Sweden Female Polly Astrid
Swedish Sweden Female Polly Elin Neural
Tahitian ty
Tajik tg
Tamazight ber-Latn
Tamazight (Tifinagh) ber
Tamil ta
Tamil (Sri Lanka)
Tatar tt
Telugu te
Telugu (India)
Tetum tet
Thai th
Thai (Thailand)
Tibetan bo
Tigrinya ti
Tiv tiv
Tok Pisin tpi
Tongan to
Tsonga ts
Tsonga (South Africa)
Tswana tn
Tswana (Latin, South Africa)
Tulu tcy
Tumbuka tum
Turkish tr
Turkish (Turkey)
Turkish Turkey Female Polly Burcu Neural
Turkish Turkey Female Polly Filiz
Turkmen tk
Tuvan tyv
Twi ak
Udmurt udm
Ukrainian uk
Ukrainian (Ukraine)
Urdu ur
Urdu (Pakistan)
Uyghur ug
Uzbek uz
Uzbek (Uzbekistan)
Venda ve
Venda (South Africa)
Venetian vec
Vietnamese vi
Vietnamese (Vietnam)
Waray war
Welsh cy
Welsh UK Female Polly Gwyneth
Wolof wo
Xhosa xh
Xhosa (South Africa)
Yakut sah
Yiddish yi
Yoruba yo
Yucatec Maya yua
Zapotec zap
Zulu zu
Zulu (South Africa)

Cloud Guides Text Translation

Text Translation

Overview

Text can be translated using the text translation web service. Aculab Cloud uses Google Translate to perform text translation.

Languages

Currently, our text translation supports over 240 languages. For the up to date list, see Translation Languages.

Charging

On a trial account you can start using text translation straight away.

Our Text Translation is charged per translation, per block of 250 characters in the source text or part thereof. The character count is by character code point and includes white space and combining characters. For example:

  • A translation of 50 characters is charged for 1 block of 250 characters.
  • A translation of 240 characters is charged for 1 block of 250 characters.
  • A translation of 260 characters is charged for 2 blocks of 250 characters.

You can obtain charging information for Text Translation calls over a period of time using the Managing Reports web services, or from the Reports page on the Cloud Console.

Cloud Guides Live Audio Translation

Live Audio Translation

Overview

When connecting together two parties who speak different languages using the Connect action, Aculab Cloud can provide accurate live audio translation between the two calls.

When enabled, each utterance made on either of the connected primary or secondary calls will be heard by the far end. At the same time it will also be transcribed using natural language speech recognition, translated into a different language using Google Translate, then when the original utterance is completed the translation will be played to both parties using Text To Speech (TTS). You specify the language being spoken on each call and control how you want the translated audio to be played back to the other call.

audio to audio translation diagram

As the speech from either party is translated and played back, transcriptions of both the recognised speech and the translated speech are produced and sent to a specified page.

Speech Recognition Models

Google Speech-to-Text defines a number of models that have been trained from millions of examples of audio from specific sources, for example phone calls or videos. Recognition accuracy can be improved by using the specialized model that relates to the kind of audio data being analysed.

For example, the phone_call model used on audio data recorded from a phone call will produce more accurate transcription results than the default, command_and_search, or video models.

Premium models

Google have made premium models available for some languages, for specific use cases (e.g. medical_conversation). These models have been optimized to more accurately recognise audio data from these specific use cases. See Speech Recognition Languages to see which premium models are available for your language.

Languages

Live audio translation requires speech recognition and TTS support for a language, as well as text translation.

For the up to date list of supported languages, see Translation Languages.

Depending on the languages spoken on each call, you normally only need to set the speech recognition language and the TTS voice used to say the translated text. For cases where there are different variations of a language for speech recognition and TTS you may need to override the defaults.

Charging

On a trial account you can start using Connect with translation straight away.

Our Translation is charged per minute with 15 second granularity. So, for example:

  • A connect which provides translations between two calls for 49 seconds will be charged for 60 seconds, for each side of the connect.
  • A connect which translates between two calls for 3 minutes 20 seconds will be charged for 3 minutes and 30 seconds for each side of the connect.

Irrespective of how much is said on each call.

You can obtain detailed charge information for a specific call using the Application Status web service. You can obtain detailed charge information for calls over a period of time using the Managing Reports web services. Note that there will be two entries in the Feature Data Record (FDR), one for each side of the connect.

Cloud REST API Class SIP Header

sip header

  Available in REST API Version 2 and later.

Describes a SIP header. SIP headers can be sent by a connect or an answer action. If the service has been configured to report received SIP headers, any matching SIP headers will be included in the call info.

Used in class call info.

Used by actions answer and connect.

Only non-standard SIP headers should be sent. Sending standard SIP headers will usually cause the call to fail.

The handling of non-standard SIP headers is dependent on the entities the SIP messages pass through, such as proxies and back-to-back user agents, and the receiving SIP endpoint. It is recommended that only a single header of each name is sent and that all names are prefixed with "X-". This will increase the likelyhood of the headers reaching the intended target.

language wrappers and examples

It contains the following properties:

PropertyRequired/OptionalDescription
name required The name of the SIP header.
value required The value of the SIP header.

  • Examples:


    • A SIP header object:

      	{
      		"name" : "X-AccountInfo",
      		"value" : "abc-123456789"
      	}
      
  • SIPHeader Class
    Namespace: Aculab.Cloud.RestAPIWrapper
    Assembly: Aculab.Cloud.RestAPIWrapper.dll

    A base class representing a SIP Header.

    • public class SIPHeader 
      {
          // Constructors
          public SIPHeader(string name, string value);
      
          // Members
          public string Name;
          public string Value;
      }
      

      Examples:

      • Add an extra SIP header to an answer action:

        var answer = new Answer();
        answer.AddExtraSIPHeader(new SIPHeader("X-AccountInfo", "abc-123456789"));
        
    • public class SIPHeader 
      {
          // Constructors
          public SIPHeader(string name, string value);
      
          // Members
          public string Name;
          public string Value;
      }
      

      Examples:

      • Add an extra SIP header to an answer action:

        var answer = new Answer();
        answer.AddExtraSIPHeader(new SIPHeader("X-AccountInfo", "abc-123456789"));
        
    • public class SIPHeader 
      {
          // Constructors
          public SIPHeader(string name, string value);
      
          // Members
          public string Name;
          public string Value;
      }
      

      Examples:

      • Add an extra SIP header to an answer action:

        var answer = new Answer();
        answer.AddExtraSIPHeader(new SIPHeader("X-AccountInfo", "abc-123456789"));
        
  • SIPHeader Class
    Namespace: Aculab.Cloud.RestAPIWrapper
    Assembly: Aculab.Cloud.RestAPIWrapper.dll

    A base class representing a SIP Header.

    • Public Class SIPHeader
          ' Constructors
          Public Sub New (name As String, value As String)
      
          ' Members
          Public Property Name As String
          Public Property Value As String
      End Class
      

      Examples:

      • Add an extra SIP header to an answer action:

        Dim answer = New Answer()
        answer.AddExtraSIPHeader(New SIPHeader("X-AccountInfo", "abc-123456789"))
        
    • Public Class SIPHeader
          ' Constructors
          Public Sub New (name As String, value As String)
      
          ' Members
          Public Property Name As String
          Public Property Value As String
      End Class
      

      Examples:

      • Add an extra SIP header to an answer action:

        Dim answer = New Answer()
        answer.AddExtraSIPHeader(New SIPHeader("X-AccountInfo", "abc-123456789"))
        
  • class SIPHeader

    A class representing a SIP Header.

    Class synopsis:

    // Constructors:
    public SIPHeader(String name, String value)
    
    // Members:
    public String getName()
    public String getValue()
    

    Examples:

    • Add an extra SIP header to an answer action:

      Answer answerAction = new Answer();
      answerAction.addExtraSIPHeader(new SIPHeader("X-AccountInfo", "abc-123456789"));
      
  • To send extra SIP headers, use the Answer.add_extra_sip_header() and Connect.add_extra_sip_header() instance methods.

    Received SIP headers are found in the Call Info dictionary, accessed using the received_sip_headers key. The received_sip_headers value is a list of dictionaries. Each dictionary contains a name and value key, representing a SIP header.

    Examples:

    • Add an extra SIP header to an answer action:

      answer_action = Answer()
      answer_action.add_extra_sip_header("X-AccountInfo", "abc-123456789")
      
    • TelephonyRequest.get_action_result()

      The Speech support class is represented by a dictionary. These may be found within the Action Result.

      Examples:

      • Extract the details from a speech object with confidence set (final result):

        my_request = TelephonyRequest(request)
        action_result = my_request.get_action_result()
        
        if action_result.get("action") == "get_input":
            result = action_result.get("result")
        
            if result.get("input_type") == "speech":
                phrases = result.get("speech_input")
        
                for phrase in phrases:
                    alternatives = phrase.get("alternatives")
        
                    for alternative in alternatives:
        
                        if 'confidence' in alternative:
                            text = alternative.get("text")
                            confidence = alternative.get("confidence")
                            print("text={} confidence={}".format(text, confidence))
        
      • Extract the details from a speech object without confidence set (interim result):

        my_request = TelephonyRequest(request)
        action_result = my_request.get_action_result()
        
        if action_result.get("action") == "get_input":
            result = action_result.get("result")
        
            if result.get("input_type") == "speech":
                phrases = result.get("speech_input")
        
                for phrase in phrases:
                    alternatives = phrase.get("alternatives")
        
                    for alternative in alternatives:
        
                        if 'confidence' not in alternative:
                            text = alternative.get("text")
                            print("text={} confidence is null".format(text))
        
      • Extract the details from a speech object with a translation:

        my_request = TelephonyRequest(request)
        action_result = my_request.get_action_result()
        
        if action_result.get("action") == "connect.translator":
            transcription_result = action_result.get("result")
        
            phrases = transcription_result.get("transcription")
        
            for phrase in phrases:
        
                final = phrase.get("final")
        
                if final:
                    alternatives = phrase.get("alternatives")
                    speech = alternatives[0]
        
                    confidence = speech.get("confidence")
                    text = speech.get("text")
                    translation = speech.get("translation")
        
                    # Your code here...
        
  • This functionality is provided by function calls on various objects.

    To send extra SIP headers, add them using addExtraSIPHeader() calls.
    Received SIP header values are returned by calling getReceivedSIPHeader() on CallInfo objects.

    Examples:

    • Add an extra SIP header to an answer action:

      $answer = new \Aculab\TelephonyRestAPI\Answer();
      $answer->addExtraSIPHeader("X-AccountInfo", "abc-123456789");
      

 

Archive

The Aculab blog

News, views and industry insights from Aculab

  • Biometrics To Stop Hackers

    In today's digital era, cyber threats are far too common; data breaches are an ongoing danger, meaning robust security measures are essential. Traditional authentication methods such as passwords and PINs are increasingly vulnerable to hacking and cyber-attacks. However, there is a powerful tool to help the fight against cybercrime: biometric technology.

    Continue reading

  • Eliminating Barriers to Communication with Live Audio Translation for Phone Calls

    In an increasingly interconnected world, clear and effective communication is more essential than ever. That’s why Aculab intends to help break down language barriers and foster cross-cultural communications.

    Continue reading

  • The End of the PSTN in the US

    As the technical world has evolved, so has the way we communicate. The gradual, global transition away from the Public Switched Telephone Network (PSTN) is the most noticeable change in recent years. This begs the question, is the PSTN in the US headed towards a slow end as we transition into the digital era?

    Continue reading

  • Revolutionising the Landscape of Remote Authentication

    In a time where borders blur and workplaces extend beyond the confines of traditional offices, the significance of remote authentication has taken centre stage. As we advance, so does the need for secure and efficient ways to verify and authenticate our identity remotely. Finding the balance between security and user convenience is key when seeking to implement successful remote authentication.

     

    Continue reading

  • Choosing The Ideal Communication Platform: Key Considerations to Optimise Your Business

    Communication Platforms as a Service have become a necessity in the current digital age; allowing businesses to obtain frictionless means of communicating effectively. However, as technology rapidly evolves, so must communications. Much of the platforms on offer today are homogenous, so choosing the best fit for your business can be difficult. In this blog, we have shared some key points and trends for to consider, so your business can amplify communications and increase operational efficiency!

     

    Continue reading