Kopīgot, izmantojot


Trešo pušu zvanītāju integrēšana ar Dynamics 365 Sarunas informācija (priekšskatījums)

[Šis raksts ir pirmsizlaides dokumentācija, kas var mainīties.]

Izmantojot šo integrāciju, Dynamics 365 lietotāji var izmantot zvanītājus, ko nodrošina trešo pušu telefonijas uzņēmumi, piemēram, Twilio Flex, lai veiktu un saņemtu tālruņa zvanus Dynamics 365 un iegūtu reāllaika AI ģenerētus ieskatus un bagātīgu savu zvanu pēczvana analīzi. Papildinformācija par Dynamics 365 Sarunas informācija

Svarīgi

  • Šis ir priekšskatījuma līdzeklis.
  • Priekšskatījuma līdzekļi nav paredzēti komerciālai lietošanai, un to funkcionalitāte var būt ierobežota. Uz šiem līdzekļiem attiecas papildu lietošanas noteikumi, un tie ir pieejami pirms oficiālā laidiena, lai klienti varētu iegūt agrīnu piekļuvi un sniegt atsauksmes.

Kā darbojas integrācija

Augstā līmenī integrācija sastāv no trim daļām:

  1. Reģistrējiet pakalpojumu sniedzēju: Reģistrējiet pakalpojumu sniedzēja informāciju un iegūstiet lietotāju sarakstu, kas jāreģistrē, izmantojot Sarunas informācija API.

  2. Dakšojiet multividi: Ievietojiet audio straumi Sarunas informācija ierakstītājos, izmantojot SIPREC protokolu.

  3. Reāllaika notikumu sūtīšana: Lai iespējotu reāllaika transkripciju un Zvanu ieskati pieredzi, nosūtiet lietotāja saskarnes notikumus no pakalpojumu sniedzēja klienta lietotāja saskarnes uz Dynamics 365 Sarunas informācija.

Integrācijas piemēru starp Dynamics 365 Sarunas informācija un trešās puses telefonijas pakalpojumu sniedzēju Twilio Flex skatiet sadaļā Twilio Flex integrēšana ar Dynamics 365 Sarunas informācija.

Šajā diagrammā ir parādīts, kā darbojas integrācija:

Shēma, kurā attēlota integrācijas plūsma

Solis 1: Reģistrējiet pakalpojumu sniedzēju

  1. Izveidojiet ID lietojumprogrammu Microsoft Entra .

  2. Pievienojiet API atļauju multivides ierakstīšanai:

    1. Izveidotajā ID lietojumprogrammā Microsoft Entra dodieties uz API atļaujām.

    2. Atlasiet Pievienot atļauju.

    3. Sadaļā API, ko mana organizācija izmanto , meklējiet opciju Multivides ieraksts, lai meklētu Dynamics 365 Sales un atlasiet to: Multivides ierakstīšanas opcijas ekrānuzņēmums

    4. Pievienot atļauju Users.Read.All un atlasiet Pievienot atļauju

    Piezīmes

    Pārliecinieties, vai esat saņēmis administratora piekrišanu atļaujai, lai varētu izsaukt Sarunas informācija API programmas kontekstā. Uzziniet vairāk par atļaujām un piekrišanu.

  3. Iegūstiet pilnvaru, lai palaistu Sarunas informācija API, izmantojot iepriekšējā sadaļā izveidoto lietotni:

    curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token -d 'client_id=<your app id>' -d 'grant_type=client_credentials' -d 'scope=00001111-aaaa-2222-bbbb-3333cccc4444/.default' -d 'client_secret=<your app secret>'

    Parametrs scope norāda Sarunas informācija programmas lietojumprogrammas ID. Nemainiet šo vērtību.

    Papildinformāciju par curl komandu skatiet sadaļā ID marķieru iegūšana Microsoft Entra pakalpojumu vadītājiem.

  4. Lai reģistrētu trešās puses pakalpojumu sniedzēju, zvaniet uz šādu Sarunas informācija API:
    POST /api/v1.0/providers/tenants

    Pieprasījuma pamattekstā norādiet šādus parametrus:

    • orgID: norādiet Dynamics 365 organizācijas ID.

    • Tips: Norādiet "pielāgots" trešo pušu zvanītājiem.

    • hostings: Norādiet telefonijas pakalpojumu sniedzēja hostinga veidu. Piemēram, "mākonis" vai "lokāls".

    • AccountId: Norādiet telefonijas pakalpojumu sniedzēja konta ID.

    • CerfificateSubjectName un CertificateIssuer: Norādiet telefonijas pakalpojumu sniedzēja sertifikāta informāciju.

    • SourceIPNetwork: Norādiet SIPREC klienta IP adresi. Norādiet "0.0.0.0", ja nevēlaties ierobežot IP adresi.
      Šis fragments ir pieprasījuma pamatteksta piemērs:

      
      {
         "orgId": "ad3dca46-962a-4895-9f85-d25f3828781f",
         "Type": "custom",
         "hosting": "cloud",
         "displayName": "Test Custom Provider",
         "AuthenticationDetails": 
         {
             "AccountId":"adxxxxx-xxxx-xxxx-xxxx-xxxxxxxx",
             "CertificateSubjectName": "certSubject",
             "CertificateIssuer": "issuer",
             "SourceIPNetwork": "0.0.0.0"
         }
      }
      

    Papildinformāciju par API skatiet Swagger dokumentācijā.

  5. Zvaniet uz šo Sarunas informācija API, lai ierakstītu lietotāju sarakstu:
    GET /api/v1.0/providers/users

Kad Dynamics 365 pārdošanas administrators ir izveidojis ierakstīšanas politiku, nodrošinātājs var izmantot šo galapunktu, lai filtrētu multividi, kas tiks dakšota Sarunas informācija ierakstītājiem.

Solis 2: Dakšu mediji (SIPREC integrācija)

Sarunas informācija ierakstītāji ievieš standartu SIPREC protokols.

Sakari tiek aizsargāti, izmantojot SIPS (ports 5061) un SRTP protokolus. Autentifikācija tiek veikta, izmantojot mTLS SIPS ziņojuma savienojumā, un tās pamatā ir API sniegtais sertifikāts, kas nozīmē, ka pakalpojumu sniedzējam jābūt reģistrētam, lai nomnieks varētu izveidot SIPS savienojumu.

Šis ekrānuzņēmums ilustrē saziņu starp SIPREC klientu un SIPREC serveri:

Ekrānuzņēmums, kurā redzams saziņas paraugs starp SIPREC klientu un SIPREC serveri.

Tālāk norādītie metadati ir nepieciešami Sarunas informācija.

Galvenes:

Galvenes nosaukums Apraksts Vērtības piemērs
Call-ID Zvana unikālais identifikators. Šis ID tiek izmantots, lai korelētu SIP signālus un lietotāja darbības, piemēram, sākuma/beigu ierakstīšanu. efxxxxxxxxxxxxx
X-AccountId Tā konta unikālais identifikators, kuram pieder zvans. Šis ID tiek izmantots autentifikācijai un autorizācijai. Tas ir tas pats nomnieka API reģistrētais konta ID. ACxxxxxxxxx

Metadati

Metadatu atslēgas nosaukums Apraksts Vērtības piemērs
Loma Norāda, vai tas ir ienākošs vai izejošs zvans pārdevējam. ["ienākošais", "izejošais"]
CallerDisplayName Zvanītāja parādāmais vārds. Ja tas nav pieejams, tiek parādīts tālruņa numurs. Kenijs Smits
CalleeDisplayName Adresāta parādāmais vārds. Ja tas nav pieejams, tiek parādīts tālruņa numurs. Alekss Beikers

Tālāk ir sniegti uzaicinājuma un aizvietošanas ziņojumu piemēri ar nepieciešamajām galvenēm un metadatiem.

UZAICINĀJUMA ziņojums:

INVITE sip:SRS@media.recording.dynamics.com:5061;transport=tls SIP/2.0 
Via: SIP/2.0/TLS 84.172.x.x:5061;branch=z9hG4bK4fa2.cdabfe83d76d3c41987802096d3b342a.0;received=172.16.x.x;rport=40334 
Via: SIP/2.0/UDP 172.25.x.x:5060;rport=5060;branch=z9hG4bK917ce574-0345-4c3d-9b63-d98c2c57dbe6_c3356d0b_599-10236398515455707148 
To: <sip:SRS@media.recording.dynamics.com:5061;transport=tls> 
From: <sip:SRC@sip.provider.com>;tag=66790678_c3356d0b_917ce574-0345-4c3d-9b63-d98c2c57dbe6 
Call-ID: efab0870bc597cb3fb56010921e2f57f 
CSeq: 1 INVITE 
Contact: <sip:SRC@172.25.x.x:5060;transport=udp>;+sip.src 
Max-Forwards: 67 
Record-Route: <sip:84.172.x.x:5061;transport=tls;r2=on;lr>,<sip:84.172.x.x;r2=on;lr> 
User-Agent: provider Gateway 
Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,NOTIFY 
Require: siprec 
Content-Length: 3194 
Content-Type: multipart/mixed;boundary=\"----=_Part_1253_283419664.1674116473425\" 
Min-SE: 35 
X-AccountId: ACxxxxxxxxxxxxxxxxxxxx 
------=_Part_1253_283419664.1674116473425 

Content-Type: application/sdp 
v=0 
o=root 1176539620 1176539620 IN IP4 172.18.x.x 
s=provider Media Gateway 
c=IN IP4 84.172.x.x 
t=0 0 
m=audio 15352 RTP/SAVP 0 8 101 
a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:<Encryption_key>
a=rtpmap:0 PCMU/8000 
a=rtpmap:8 PCMA/8000 
a=rtpmap:101 telephone-event/8000 
a=fmtp:101 0-16 
a=ptime:20 
a=maxptime:20 
a=sendonly 
a=label:inbound 
m=audio 16022 RTP/SAVP 0 8 101 
a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:<Encryption_key> 
a=rtpmap:0 PCMU/8000 
a=rtpmap:8 PCMA/8000 
a=rtpmap:101 telephone-event/8000 
a=fmtp:101 0-16 
a=ptime:20 
a=maxptime:20 
a=sendonly 
a=label:outbound 
------=_Part_1253_283419664.1674116473425 

Content-Type: application/rs-metadata+xml 
Content-Disposition: recording-session 
<?xml version=\"1.0\" encoding=\"UTF-8\"?> 
<recording xmlns='urn:ietf:params:xml:ns:recording:1'> 
    <datamode>complete</datamode> 
    <session session_id=\"Wd/putWgTWCW2z1lI5Db9w==\"> 
            <ExtensionParameters  xmlns=\"http://provider.com/siprec\"> 
                    <Parameter name=\"Role\" value=\"inbound\"/> 
                    <Parameter name=\"CallerDisplayName\" value=\"Kiana Anderson\"/> 
                    <Parameter name=\"CalleeDisplayName\" value=\"Tomas Richardson\"/> 
            </ExtensionParameters> 
    </session> 
        <participant participant_id=\"bXCloPcETS6P/kfeeJtiow==\"> 
            <nameID aor=\"EE5C7EF0\"/> 
        </participant> 
        <participant participant_id=\"3nPi8XzBSzWrtSLlkU8Gjw==\"> 
            <nameID aor=\"230908\"/> 
        </participant> 
        <stream stream_id=\"9xff8FcdRUaJCSTxWFbV9g==\" session_id=\"Wd/putWgTWCW2z1lI5Db9w==\"><label>inbound</label></stream> 
        <stream stream_id=\"f/Qezx4jTMqiWSB1vW7oJA==\" session_id=\"Wd/putWgTWCW2z1lI5Db9w==\"><label>outbound</label></stream> 
    <sessionrecordingassoc session_id=\"Wd/putWgTWCW2z1lI5Db9w==\"> 
        <associate-time>2023-01-19T08:21:13.382512Z</associate-time> 
    </sessionrecordingassoc> 
        <participantsessionassoc participant_id=\"bXCloPcETS6P/kfeeJtiow==\" session_id=\"Wd/putWgTWCW2z1lI5Db9w==\"> 
            <associate-time>2023-01-19T08:21:13.382512Z</associate-time> 
        </participantsessionassoc> 
        <participantsessionassoc participant_id=\"3nPi8XzBSzWrtSLlkU8Gjw==\" session_id=\"Wd/putWgTWCW2z1lI5Db9w==\"> 
            <associate-time>2023-01-19T08:21:13.382512Z</associate-time> 
        </participantsessionassoc> 
        <participantstreamassoc participant_id=\"bXCloPcETS6P/kfeeJtiow==\"> 
                <send>9xff8FcdRUaJCSTxWFbV9g==</send> 
                <recv>f/Qezx4jTMqiWSB1vW7oJA==</recv> 
        </participantstreamassoc> 
        <participantstreamassoc participant_id=\"3nPi8XzBSzWrtSLlkU8Gjw==\"> 
                <send>f/Qezx4jTMqiWSB1vW7oJA==</send> 
                <recv>9xff8FcdRUaJCSTxWFbV9g==</recv> 
        </participantstreamassoc> 
</recording> 
------=_Part_1253_283419664.1674116473425--

BYE ziņojums:

BYE sip:SRS@media.recording.dynamics.com:5061;transport=tls SIP/2.0 
Via: SIP/2.0/TLS 84.172.x.x:5061;branch=z9hG4bK1fa2.d03c36b567136fcfae84281e926cda62.0;received=172.16.x.x;rport=40334 
Via: SIP/2.0/UDP 172.25.x.x:5060;rport=5060;received=84.144.x.x;branch=z9hG4bK917ce574-0345-4c3d-9b63-d98c2c57dbe6_c3356d0b_600-2513288074170844985 
To: <sip:SRS@media.recording.dynamics.com:5061;transport=tls>;tag=OXFWHPJQTL 
From: <sip:SRC@sip.provider.com>;tag=66790678_c3356d0b_917ce574-0345-4c3d-9b63-d98c2c57dbe6 
Call-ID: efab0870bc597cb3fb56010921e2f57f 
CSeq: 2 BYE 
Max-Forwards: 68 
User-Agent: provider Gateway 
Require: siprec 
Content-Length: 901 
Content-Type: multipart/mixed;boundary=\"----=_Part_29418_1017575873.1674116842924\" 
X-AccountId: ACxxxxxxxxxxxxx 

Atbalstītie ierakstītāja galapunkti un reģioni

Šajā tabulā ir uzskaitīti atbalstītie ierakstītāja galapunkti un to reģioni. Varat konfigurēt ierakstītājus, kurus vēlaties izmantot telefonijas pakalpojumu sniedzēja iestatījumos. Lai uzzinātu, kā tas tiek darīts Twilio Flex, skatiet solis 2: Instalējiet SIPREC savienotāju un maršrutējiet zvanus uz Dynamics 365.

Galapunkts Reģions
media.recording.dynamics.com Globāls (tuvākais reģions)
southeastasia.media.recording.dynamics.com Dienvidaustrumāzija
australiaeast.media.recording.dynamics.com Austrālija
sam.media.recording.dynamics.com Dienvidamerika
canadacentral.media.recording.dynamics.com Kanāda
switzerlandnorth.media.recording.dynamics.com Šveice
eastus.media.recording.dynamics.com ASV
francecentral.media.recording.dynamics.com Francija
centralindia.media.recording.dynamics.com Indija
japaneast.media.recording.dynamics.com Japāna
uae.media.recording.dynamics.com UAE
uksouth.media.recording.dynamics.com Apvienotā Karaliste
westeurope.media.recording.dynamics.com Rietumeiropa
zaf.media.recording.dynamics.com Dienvidāfrika

Solis 3: Reāllaika notikumu sūtīšana (Zvanītāja klienta integrācija)

Lai ļautu Sarunas informācija nodrošināt reāllaika transkripcija un ieskati, trešās puses zvanītājs var izmantot divus notikumus, lai paziņotu, kad zvans sākas vai beidzas.

  • Notikums Zvans sākās: Kad Sarunas informācija saņem notikumu "zvans sākts", tiek parādīta ierakstīšanas poga un reāllaika transkripcija un ieskati.

  • Notikums ar zvana beigām: kad Sarunas informācija saņem notikumu "zvans ir pabeigts", tas sagatavošana zvanu un parādīs pogu Pilns kopsavilkums , lai iegūtu AI ģenerētos zvana kopsavilkums un ieskatus.

Lai nosūtītu notikumus, izmantojiet raiseEvent API programmā Dynamics 365 kanāla integrācijas struktūra (CIF).

Tālāk ir sniegts koda fragments paraugs, lai nosūtītu pasākumus.

export interface CallStartedEvent { 
  callId: string; 
  startTime: Date; 
  isIncomingCall: boolean; 
  contactNumber: string; 
  contactName: string; 
} 

export interface CallEndedEvent { 
  callId: string; 
  callDurationInSeconds: number; 
  callTerminationReason: string; // ['success', 'error'] 
  callEndTime: Date; 
  isCallStarted: boolean; 
} 

dialer.Actions.addListener('onCallStarted', (payload: any) => { 
  const callStartedEvent : CallStartedEvent = { 
    callId: payload.call_sid, 
    startTime: new Date(), 
    isIncomingCall: payload.attributes.is_incoming_call, 
    contactName: payload.attributes.caller_name, 
    contactNumber: payload.attributes.caller_phone_number 
  }; 

  // @ts-ignore 
  Microsoft.CIFramework.raiseEvent('WIDGET_CALL_STARTED', callStartedEvent); 
}); 

dialer.Actions.addListener('onCallEnded', (payload: any) => { 
  const callEndedEvent : CallEndedEvent = { 
    callId: payload.call_sid, 
    callEndTime: new Date(), 
    callTerminationReason: 'success', 
    isCallStarted: true, 
    callDurationInSeconds: payload.attributes.call_length 
  }; 

  // @ts-ignore 
  Microsoft.CIFramework.raiseEvent('WIDGET_CALL_ENDED', callEndedEvent); 
});

Integrācijas pārbaude

Pēc jaunā pakalpojumu sniedzēja reģistrēšanas nomniekā un SIPREC forking un klienta zvanītāja notikumu iestatīšanas varat pārbaudīt integrāciju, izveidojot jaunu ierakstīšanas politiku ar jauno pakalpojumu sniedzēju.

  1. Piesakieties kā sistēmas administrators programmā Pārdošanas centrs.

  2. Apgabalā Mainīt atlasiet Pārdošanas ieskatu iestatījumi.

  3. Dodieties uz Globālie iestatījumi Sarunas informācija>. Sadaļā Zvanu nodrošinātāji redzēsit reģistrēto trešās puses pakalpojumu sniedzēju.

  4. Izveidojiet ierakstīšanas politiku jaunajam pakalpojumu sniedzējam. Papildinformāciju skatiet sadaļā Iestatīšana Microsoft Teams Sarunas informācija

Šis ekrānuzņēmums ir Twilio ierakstīšanas politikas piemērs.

Twilio ierakstīšanas politikas ekrānuzņēmums

Tagad zvaniet lietotājam, kurš ir daļa no atlasītās drošības loma (mūsu piemērā politika ir iespējota visām drošības lomām).

Kad Dynamics 365 saņem notikumu callStarted no sastādītāja, jums būs iespēja sākt ierakstīšanu:

Zvanu ierakstīšanas paziņojuma ekrānuzņēmums

Pēc opcijas Ierakstīt varēsit redzēt reāllaika transkripciju zvana laikā un pilnu kopsavilkumu un Zvanu ieskati zvana beigās.

Lapas zvana kopsavilkums skatīšana un izprašana