Интегришите бирање независних произвођача са Дyнамицс 365 < ДИЦТ__Обавештења о разговорима > цонверсатион интеллигенце ДИЦТ__Обавештења о разговорима > (< ДИЦТ__верзија за преглед > превиеw ДИЦТ__верзија за преглед >)
[Овај чланак представља прелиминарну документацију и може се променити.]
Са овом интеграцијом, корисници Дyнамицс 365 могу да користе бираче које пружају телефонске компаније трећих страна, као што је Твилио Флек, за упућивање и примање телефонских позива у Дyнамицс 365, и добијање увида у реалном времену генерисаних АИ и богате анализе њихових позива након позива. Сазнајте више о Дyнамицс 365 < ДИЦТ__Обавештења о разговорима > цонверсатион интеллигенце
Важно
- Ово је функција прегледа.
- Функције верзије за преглед нису намењене за коришћење у производњи и можда имају ограничене функционалности. Ове функције подлежу додатним условима коришћења и доступне су пре званичног издања, тако да корисници могу добити рани приступ и пружити повратне информације.
Како функционише интеграција
На високом нивоу, интеграција се састоји од три дела:
Региструјте провајдера: Региструјте детаље провајдера и набавите листу корисника која ће бити забележена помоћу < ДИЦТ__Обавештења о разговорима > цонверсатион интеллигенце АПИ-ја.
Форк медија: Форк аудио стреам на < ДИЦТ__Обавештења о разговорима > цонверсатион интеллигенце рекордера користећи СИПРЕЦ протокол.
Пошаљите догађаје у реалном времену: Да бисте омогућили транскрипцију у реалном времену и < ДИЦТ__Увиди у позиве > цалл инсигхтс искуство, пошаљите УИ догађаје из корисничког интерфејса клијента провајдера на Дyнамицс 365 < ДИЦТ__Обавештења о разговорима > цонверсатион интеллигенце.
За пример интеграције између Дyнамицс 365 < ДИЦТ__Обавештења о разговорима > цонверсатион интеллигенце и провајдера телефоније треће стране, Твилио Флек, погледајте Интегришите Твилио Флек са Дyнамицс 365 < ДИЦТ__Обавештења о разговорима > цонверсатион интеллигенце.
Следећи дијаграм илуструје како интеграција функционише:
корак 1: Региструјте провајдера
Додајте АПИ дозволу за снимање медија:
У ИД апликацији Microsoft Entra коју сте креирали идите на АПИ дозволе.
Изаберите Додај дозволу.
Под АПИ -јима моја организација користи претрагу за Медиа Рецординг фор Дyнамицс 365 Салес и изаберите је:
Адд Усерс .Реад .Алл дозволу и изаберите Додај дозволу
Белешка
Уверите се да добијете сагласност администратора за дозволу да бисте могли да позовете < ДИЦТ__Обавештења о разговорима > цонверсатион интеллигенце АПИ у контексту апликације. Сазнајте више о дозволама и сагласности.
Набавите токен за покретање < ДИЦТ__Обавештења о разговорима > цонверсатион интеллигенце АПИ-ја користећи апликацију креирану у претходном одељку:
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>'
Параметар
scope
одређује ИД апликације < ДИЦТ__Обавештења о разговорима > цонверсатион интеллигенце апликације. Не мењајте ову вредност.За више информација о команди цурл, погледајте Гет Microsoft Entra ИД токене за принципале услуга.
Позовите следеће < ДИЦТ__Обавештења о разговорима > цонверсатион интеллигенце АПИ да бисте регистровали провајдера услуга треће стране:
POST /api/v1.0/providers/tenants
Наведите следеће параметре у телу захтева:
оргИД : Наведите ИД организације Дyнамицс 365.
Тип : Наведите "обичај" за бирање независних произвођача.
хостинг : Наведите тип хостинга провајдера телефоније. На пример, "облак" или "локални".
АццоунтИд : Наведите ИД налога провајдера телефоније.
ЦерфифицатеСубјецтНаме и ЦертифицатеИссуер: Наведите детаље сертификата провајдера телефоније.
СоурцеИПНетwорк : Наведите ИП адресу СИПРЕЦ клијента. Наведите "0.0.0.0" ако не желите да ограничите ИП адресу.
Следећи исечак је пример тела захтева:{ "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" } }
За више информација о АПИ-ју, погледајте Сваггер документацију.
Позовите следећи АПИ < ДИЦТ__Обавештења о разговорима > цонверсатион интеллигенце да бисте добили листу корисника за снимање:
GET /api/v1.0/providers/users
Након што администратор продаје Дyнамицс 365 креира политику снимања, провајдер може користити овај < ДИЦТ__крајња тачка > ендпоинт за филтрирање медија који ће се рачвати на < ДИЦТ__Обавештења о разговорима > цонверсатион интеллигенце рекордерима.
корак 2: Форк медија (СИПРЕЦ интеграција)
< ДИЦТ__Обавештења о разговорима >цонверсатион интеллигенце рекордери имплементирају стандард СИПРЕЦ протокол.
Комуникација је обезбеђена коришћењем СИПС (порт 5061) и СРТП протокола. Аутентификација се врши помоћу мТЛС-а у вези са СИПС поруком, а заснива се на сертификату који је достављен АПИ-ју – што значи да провајдер мора бити регистрован за закупца да би успоставио СИПС везу.
Следећи снимак екрана илуструје комуникацију између СИПРЕЦ клијента и СИПРЕЦ сервера:
Следећи метаподаци су потребни за < ДИЦТ__Обавештења о разговорима > цонверсатион интеллигенце:
Заглавља:
Име заглавља | Опис | Пример вредности |
---|---|---|
Позив-ИД | Јединствени идентификатор позива. Овај ИД се користи за корелацију СИП сигнала и корисничких акција као што је покретање / заустављање снимања. | Српски/српски |
X-AccountId | Јединствени идентификатор налога којем позив припада. Овај ИД се користи за аутентификацију и ауторизацију. Ово је исти ИД налога регистрован у АПИ-ју за станара. | Српски/српски |
Метаподаци
Име кључа метаподатака | Опис | Пример вредности |
---|---|---|
Улога | Означава да ли је то долазни или одлазни позив за продавца. | ["долазни", "одлазни"] |
ЦаллерДисплаyНаме | Позивалац < ДИЦТ__име за приказ > дисплаy наме. Ако није доступан, приказује се број телефона. | Кени Смит |
ЦаллееДисплаyНаме | < ДИЦТ__име за приказ >дисплаy наме примаоца. Ако није доступан, приказује се број телефона. | Алекс Бејкер |
Ево примера позива и бyе порука са потребним заглављима и метаподацима:
ПОЗИВ порука:
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 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
Подржане су крајње тачке и региони снимача
Следећа табела наводи подржане крајње тачке снимача и њихове регионе. Можете да подесите рекордере које желите да користите у подешавањима телефоније провајдера. Да бисте сазнали како се то ради за Твилио Флек, погледајте корак 2: Инсталирајте СИПРЕЦ конектор и усмерите позиве на Дyнамицс 365.
Крајња тачка | Регион |
---|---|
media.recording.dynamics.com | Глобално (најближи регион) |
southeastasia.media.recording.dynamics.com | Југоисточна Азија |
australiaeast.media.recording.dynamics.com | Аустралија |
sam.media.recording.dynamics.com | Јужна Америка |
canadacentral.media.recording.dynamics.com | Канада |
switzerlandnorth.media.recording.dynamics.com | Швајцарска |
eastus.media.recording.dynamics.com | САД |
francecentral.media.recording.dynamics.com | Француска |
centralindia.media.recording.dynamics.com | Индија |
japaneast.media.recording.dynamics.com | Јапан |
uae.media.recording.dynamics.com | УАЕ |
uksouth.media.recording.dynamics.com | Уједињено Краљевство |
westeurope.media.recording.dynamics.com | Западна Европа |
zaf.media.recording.dynamics.com | Јужноафричка Република |
корак КСНУМКС: Слање догађаја у реалном времену (интеграција клијента Диалер-а)
Да би се омогућило < ДИЦТ__Обавештења о разговорима > цонверсатион интеллигенце да обезбеди < ДИЦТ__транскрипција и увиди у реалном времену > реал-тиме трансцриптион анд инсигхтс , бирач треће стране може да користи два догађаја да обавести када позив почиње или завршава.
Позив започео догађај: Када < ДИЦТ__Обавештења о разговорима > цонверсатион интеллигенце добије "позив започет" догађај, он ће приказати дугме за снимање и < ДИЦТ__транскрипција и увиди у реалном времену > реал-тиме трансцриптион анд инсигхтс.
Догађај који је завршио позив: Када < ДИЦТ__Обавештења о разговорима > цонверсатион интеллигенце добије догађај "позив је завршен", он ће Умотавање позив и приказати дугме Потпуни резиме да бисте добили < ДИЦТ__резиме позива > цалл суммарy и увиде генерисане АИ-ом.
Да бисте послали догађаје, користите раисеЕвент АПИ у < ДИЦТ__Дyнамицс 365 радни оквир за интеграцију канала > Дyнамицс 365 Цханнел Интегратион Фрамеwорк (ЦИФ).
Ево примера < ДИЦТ__исечак кода > цоде сниппет за слање догађаја:
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);
});
Тестирајте интеграцију
Након регистрације новог провајдера код станара и постављања СИПРЕЦ рачвања и догађаја клијентског бирача, можете тестирати интеграцију креирањем нове политике снимања са новим провајдером.
Пријавите се као администратор система у апликацији < ДИЦТ__Чвориште за продају > Салес Хуб.
Из области Промена изаберите Подешавања увида у продају.
Иди на < ДИЦТ__Општа подешавања > Глобал сеттингс >< ДИЦТ__Обавештења о разговорима > цонверсатион интеллигенце. У одељку Провајдери позива видећете провајдера треће стране који сте регистровали.
Креирајте политику снимања за новог провајдера. За више информација, погледајте Подешавање Microsoft Teams за < ДИЦТ__Обавештења о разговорима > цонверсатион интеллигенце
Следећи снимак екрана је пример политике снимања за Твилио.
Сада, позовите корисника који је део изабраног < ДИЦТ__безбедносна улога > сецуритy роле (у нашем примеру, политика је омогућена за све безбедносне улоге).
Када Дyнамицс 365 прими цаллСтартед догађај са бирача, имаћете опцију да започнете снимање:
Након што изаберете Рецорд , моћи ћете да видите транскрипцију у реалном времену током позива и потпуни резиме и < ДИЦТ__Увиди у позиве > цалл инсигхтс на крају позива.
Сродне информације
Погледајте и разумејте < ДИЦТ__резиме позива > Цалл Суммарy страницу