| Solution | Projet / Assembly | Orchestrations | Direction | Canal | Systemes externes |
|---|---|---|---|---|---|
| STM.ICUMassif.EAI | EnvoyerMessages | DistribuerMessages, EnvoiMessage | Entrant / Sortant | Massif | FILE drop, BizTalk MessageBox |
| STM.ICUAppelVocalRecup.EAI | RecupererAppelVocal | (CBR seulement) | Sortant | Vocal | FILE drop |
| STM.ICUCourrielRecup.EAI | RecupererCourriel | (CBR seulement) | Sortant | Courriel | FILE drop |
| STM.ICUMessageEntrantRecup.EAI | RecupererMessageEntrant | (CBR seulement) | Sortant | SMS (entrant) | FILE drop |
| STM.ICUTextoRecup.EAI | RecupererTexto | (CBR seulement) | Sortant | SMS (sortant) | FILE drop |
| STM.ICU.EAI | EnvoiTelus | EnvoyerTelusAppelVocal, EnvoyerAppelVocal, GererTentative, VerifierErreurTelus, PurgerCampaign, PurgerQueueAppelVocal, EnvoyerResultatExecution | Les deux | Vocal | Telus RVI API, UCCX/Informix DB, STM ICU SQL DB |
| STM.ICUCourriel.EAI | EnvoiCourriel, TraiteRejet | ProduireMessageUsagerCourriel, EnvoyerCourriel, EnvoyerEwsCourriel, EnvoyerSendGridCourriel, SauvegarderTraitementCourriel, TraiterRejets, MettreAJourRejetServeurExchange, MettreAJourBouncesSendGrid, MettreAJourBlocksSendGrid, MettreAJourSpamsSendGrid, MettreAJourInvalidsSendGrid, ObtenirTokenOAuth, MettreAJourStatus | Les deux | Courriel | SendGrid API, Exchange Online (MS Graph/OAuth2), STM ICU SQL DB, SMTP interne |
| STM.ICUMediator.EAI | EnvoiMessageUsager | DemanderEnvoiMessage, ValiderMessage, ObtenirAbonnementGlid, EnvoyerMessageUsager, EcouterResultatsMessageUsager | Les deux | Interne (hub API) | GLID REST API, STM ICU Mediator SQL DB |
| STM.ICUResSociaux.EAI | PublierMessage | RecevoirPublierMessage, PublierXMessage, ValiderMessage, ObtenirStatutPublication, SauvegarderErreurs | Les deux | Medias sociaux | X (Twitter) API v2, STM ICU SQL DB |
| STM.ICUTexto.EAI | Mediator, EnvoiSMS, ObtiensStatus | EnvoyerMessageUsagerTexto, EnvoyerSMS, EnvoyerSMSVudu, EnvoyerSMSVuduBatch, SauvegarderDetailsEnvoi, MettreAJourBroadcast, MettreAJourFeed | Les deux | SMS | VuDu SMS API, STM ICU SQL DB |
| STM.ICUTextoExtraction.EAI | Extraction | ExtraireSSPO, SauvegardeExractionSSPO | Les deux | Interne/Analytique | STM ICU SQL DB, Optimax/PowerBI SQL DB |
Objectif : Recoit les demandes d'envoi SMS du ICU Mediator et les achemine vers la passerelle SMS VuDu.
Emplacement de reception :
STM.ICUTexto.EAI_EnvoiTexto.WCF-WebHttp — /icutexto/api.svc (POST /texto), WCF-WebHttp, authentification Basic sur TLS, JSONFlux d'orchestration :
EnvoyerMessageUsagerTexto (projet Mediator) — recoit la demande du ICUMediator, s'active sur /icutexto/api.svc.EnvoyerSMS — repartition principale; decide entre envoi simple ou par lot.EnvoyerSMSVudu — appelle VuDu POST /send (${uriFournisseur}/send), enregistre le suivi de lot via SQL.EnvoyerSMSVuduBatch — appelle VuDu POST /send_batch pour les grands volumes.SauvegarderDetailsEnvoi — ecrit SauvegarderTraitementSMS / UpdTraitementSMSBatch dans la BD SQL ICU.MettreAJourBroadcast — interroge VuDu POST /get_broadcast pour obtenir le statut de livraison; met a jour la BD ICU.MettreAJourFeed — interroge VuDu POST /get_feed pour le statut detaille du flux (actuellement desenliste en prod).Ports d'envoi :
STM.ICUTexto.EAI_vuduSend — WCF-WebHttp → ${uriFournisseur}, operations : /send, /send_batch, /get_broadcastSTM.ICUTexto.EAI_vuduSendbatch — WCF-WebHttp → ${uriFournisseur}/send_batchSTM.ICUTexto.EAI_vuduGetBroadcast — WCF-WebHttp → ${uriFournisseur}/get_broadcastSTM.ICUTexto.EAI_vuduGetFeed — WCF-WebHttp → ${uriFournisseur}/get_feedSTM.ICUTexto.EAI_SQLTraitementSms — WCF-SQL → ${IcuDbAdress} (ecriture seule)STM.ICUTexto.EAI_SQLTraitementSmsResponse — WCF-SQL → ${IcuDbAdress} (lecture-ecriture, updFeed / updBroadcast)STM.ICUTexto.EAI_ResultatExecution — FILE → ${RepertoireArchive}\Out\%MessageID%.xml (archive des resultats)Objectif : Abonne CBR (routage base sur le contenu). Recupere tout message Texto du BizTalk MessageBox et le depose dans un partage de fichiers pour les consommateurs en aval (surveillance, reprise, etc.).
BTS.MessageType = http://www.stm.info/namespaces/internal/icu/communicationusager/1#Texto${RepertoireTexto}\%MessageID%.xmlObjectif : Abonne CBR pour les SMS entrants (CommunicationUsagereEntrante). Ecrit les textos entrants dans un partage de fichiers.
BTS.MessageType = http://www.stm.info/namespaces/internal/icu/communicationusagerentrante/1#Texto${RepertoireMessageEntrant}\%MessageID%.xmlObjectif : Extraction quotidienne par lot des donnees SMS SSPO de la BD operationnelle ICU vers la base de donnees de rapports Optimax/PowerBI.
ExtraireSSPO — interroge la BD ICU (icuextraction.selExtractionTexto_SPPO)SauvegardeExractionSSPO — insere dans la BD Optimax (icuTexteExtraction.instextoSSPO)Objectif : Recoit les demandes d'envoi de courriels du ICUMediator et les achemine via le relais SMTP ou l'API SendGrid. Gere egalement les rebonds, blocages, signalements de pourriel et adresses invalides provenant de SendGrid et Exchange Online.
Emplacement de reception :
STM.ICUCourriel.EAI_EnvoiCourriel.WCF-WebHttp — /icucourriel/api.svc (POST /courriel), WCF-WebHttp, authentification Basic sur TLS, JSONOrchestrations du chemin d'envoi :
ProduireMessageUsagerCourriel — s'active sur /icucourriel/api.svc, transforme le JSON en schema Courriel interne.EnvoyerCourriel — achemine vers le chemin SMTP ou SendGrid.EnvoyerEwsCourriel — envoie via le relais SMTP interne (Static-DotNetSMTP, ${SMTPHostName}:${SMTPPort}).EnvoyerSendGridCourriel — envoie via l'API REST SendGrid (POST ${UrlSendGrid}/mail/send), authentification par jeton Bearer.SauvegarderTraitementCourriel — persiste dans la BD ICU via WCF-SQL.Orchestrations du chemin rebonds/rejets (projet TraiteRejet) :
TraiterRejets — declenche par FILE; interroge la BD ICU pour les rebonds non traites; boucle a travers les enregistrements.ObtenirTokenOAuth — obtient un jeton Bearer OAuth2 d'Azure AD (https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token) pour l'acces a Exchange Online.MettreAJourRejetServeurExchange — lit les NDR/rebonds d'Exchange Online via MS Graph (EWS OAuth2).MettreAJourBouncesSendGrid — interroge GET ${UrlSendGrid}/suppression/bounces.MettreAJourBlocksSendGrid — interroge GET ${UrlSendGrid}/suppression/blocks.MettreAJourSpamsSendGrid — interroge GET ${UrlSendGrid}/suppression/spam_reports.MettreAJourInvalidsSendGrid — interroge GET ${UrlSendGrid}/suppression/invalid_emails.MettreAJourStatus — met a jour le statut du courriel dans la BD ICU (MettreAJourCourrielStatus).Ports d'envoi :
STM.ICUCourriel.EAI_SendGrid — WCF-WebHttp → ${UrlSendGrid} (envoi + requetes de listes de suppression)STM.ICUCourriel.EAI_SMTP — Static-DotNetSMTP → ${SMTPHostName}:${SMTPPort}STM.ICUCourriel.EAI_OAuthToken.WCF-WebHttp — WCF-WebHttp → https://login.microsoftonline.comSTM.ICUCourriel.EAI_TraitementCourriel.WCF-SQL — WCF-SQL → ${IcuDbAdress} (ecriture)STM.ICUCourriel.EAI_TraitementCourrielResponse.WCF-SQL — WCF-SQL → ${IcuDbAdress} (lecture-ecriture)STM.ICUCourriel.EAI_ResultatExecution — FILE → ${ResultatExecutionRepertoire}\%MessageID%.xmlMaintenance planifiee :
STM.ICUCourriel.EAI_PurgerTraitmentCourriel.Schedule — purge quotidienne (exec PurgerTraitementCourriel 100)STM.ICUCourriel.EAI_Declencheur.FILE — declencheur FILE pour la boucle de traitement des rebondsObjectif : Abonne CBR. Recupere les messages Courriel et les ecrit dans un partage de fichiers.
BTS.MessageType = http://www.stm.info/namespaces/internal/icu/communicationusager/1#Courriel${RepertoireCourriel}\%MessageID%.xmlObjectif : Gere les appels vocaux automatises sortants vers les usagers de la STM via la plateforme Telus RVI (Serveur vocal interactif). Declenchement par interrogation de la BD ICU; interface de rappel bidirectionnelle pour le TTS et le statut des appels.
Emplacements de reception :
STM.ICU.EAI_DeclencheurEnvoiTelusAppelVocal.WCF-SQL — interrogation typee WCF-SQL sur la BD ICU (polledDataAvailableStatement="select 1 nbRow", intervalle configurable via ${IntervalDeclencheurTelusEnvoi})STM.ICU.EAI_MessageUsager.FILE — FILE → ${MessageUsagerRepertoireReception}\*.xml (chemin d'injection manuelle)STM.ICU.EAI_MessageUsager.Schedule — adaptateur Schedule (battement de coeur periodique TEST UCCX)STM.ICU.EAI_ReceptionTelus.WCF-WebHttp — /icu/telus.svc (GET /rvi/gettts/{nuanceTts} pour l'audio TTS; POST /rvi/msg pour le resultat de l'appel) — sans authentification, ouvert a TelusSTM.ICU.EAI_DeclencheurPurgeCampaign.Schedule et .FILE — declencheur quotidien de purge des campagnesFlux d'orchestration :
EnvoyerTelusAppelVocal — active par l'interrogation WCF-SQL; est un convoi de longue duree gerant l'etat des appels (indicateur convoiActif); appelle EnvoyerAppelVocal en sous-appel.EnvoyerAppelVocal — invoque l'API Telus RVI Outbound (POST ${UriTelusEnvoi} = https://apipriv.stm.info/int/rvi-outbound/v1), authentification Basic (cseai_apimpr).GererTentative — gere l'etat des tentatives; met a jour TraitementAppelVocal dans la BD ICU.VerifierErreurTelus — surveille les erreurs de l'API Telus; archive les echecs dans un FILE.PurgerCampaign — purge quotidienne planifiee des campagnes d'appels.PurgerQueueAppelVocal — purge quotidienne de la table TraitementAppelVocal (exec PurgerTraitementAppelVocal 10).EnvoyerResultatExecution — ecrit le resultat dans ${ResultatExecutionRepertoireEnvoi}\%MessageID%.xml.Ports d'envoi :
STM.ICU.EAI_SauvegarderTraitementAppelVocal — WCF-SQL → ${IcuDbAdress} (TypedProcedure SauvegarderTraitementAppelVocal)STM.ICU.EAI_ResultatExecution — FILE → ${ResultatExecutionRepertoireEnvoi}\%MessageID%.xmlSTM.ICU.EAI_Erreur — FILE → ${RepertoireArchive} (archive d'erreurs / nullification)STM.ICU.EAI_Bidon — FILE → ${RepertoireArchive} (puits nul pour les messages de battement de coeur)Valeurs cles de l'environnement de production :
https://apipriv.stm.info/int/rvi-outbound/v1uccxprod03:1504, base de donnees db_cramssql://SQLEAIPR//ICUObjectif : Abonne CBR. Recupere les messages AppelVocal et les ecrit dans un partage de fichiers.
BTS.MessageType = http://www.stm.info/namespaces/internal/icu/communicationusager/1#AppelVocal${RepertoireAppelVocal}\%MessageID%.xmlObjectif : Recoit les demandes de publication sur les medias sociaux (ICU Mediator ou directes) et publie sur X (Twitter) via l'API v2. Suit le statut de publication dans la BD ICU avec application de limites de debit.
Emplacements de reception :
STM.ICUResSociaux.EAI_PublierMessage.WCF-WebHttp — /icuressociaux/api.svc (POST /MessageX; GET /MessageX/{commId}), WCF-WebHttp, authentification Basic sur TLS, JSONSTM.ICUResSociaux.EAI_PublierDirect.FILE — FILE → ${RepertoireReprise}\*.json (fichier JSON pour reprise directe)STM.ICUResSociaux.EAI_PurgerTwitter.Schedule — planification quotidienne (exec PurgerSuiviTwitter 90)Flux d'orchestration :
RecevoirPublierMessage — point d'entree; cree un enregistrement de suivi en cours (CreerSuiviTwitterEnTraitement).ValiderMessage — interroge la BD ICU pour le nombre de tweets sur 24h par canal (ObtenirNbTwitter24hPourChannel); applique la limite de debit.PublierXMessage — appelle l'API Twitter v2 (POST https://api.twitter.com/2/tweets); jeton Bearer OAuth2 injecte a l'execution via le comportement personnalise STM.WCFHttpHeaderBehavior.EAI.Inspector; met a jour le suivi (CreerSuiviTwitter / MajSuiviTwitter).ObtenirStatutPublication — repond aux requetes GET; lit ObtenirCommunicationX depuis la BD ICU.SauvegarderErreurs — en cas d'echec, ecrit MajSuiviTwitterErreur dans la BD ICU.Ports d'envoi :
STM.ICUResSociaux.EAI_SendTwitterX.WCF-WebHttp — WCF-WebHttp → https://api.twitter.com/2 (POST /tweets); Bearer OAuth2 via comportement personnalise; 1 reessaiSTM.ICUResSociaux.EAI_BD.WCF-SQL — WCF-SQL → ${IcuDbAdress} (CreerSuiviTwitterEnTraitement)STM.ICUResSociaux.EAI_Lecture.WCF-SQL — WCF-SQL → ${IcuDbAdress} (ObtenirNbTwitter24hPourChannel, ObtenirCommunicationX)STM.ICUResSociaux.EAI_Suivi.WCF-SQL — WCF-SQL → ${IcuDbAdress} (CreerSuiviTwitter, MajSuiviTwitter, MajSuiviTwitterErreur)STM.ICUResSociaux.EAI_Erreur.Nullify — FILE → ${RepertoireArchive}\%MessageID%.xml (archive d'erreurs)Objectif : Hub d'orchestration central (couche passerelle API). Recoit toutes les demandes d'envoi de messages entrantes des applications clientes, les valide contre les listes de distribution GLID, suit le cycle de vie des communications dans la BD Mediator, et achemine vers la solution de canal appropriee (Courriel, Texto, ResSociaux, ICU Telus).
Emplacements de reception :
STM.ICUMediator.EAI_EnvoyerMessageUsager.WCF-WebHttp — /icumediator/api.svc (POST /messageUsager; GET /Communication/{commId}), WCF-WebHttp, authentification Basic sur TLS, JSONSTM.ICUMediator.EAI_PurgerCommunication.Schedule — Schedule → exec PurgerSuiviCommunication 100 (quotidien)Flux d'orchestration :
DemanderEnvoiMessage — active par POST /messageUsager; point d'entree; deserialise la requete JSON ICUMediator.ValiderMessage — appelle l'API REST GLID (GET ${WebServiceGlid}/Applications/{application}/ListesDistribution) pour obtenir les listes de distribution; valide la cible d'acheminement.ObtenirAbonnementGlid — appelle l'API REST GLID (GET ${WebServiceGlid}/ListesDistribution/{liste}/Abonnements) pour developper la liste d'abonnes.EnvoyerMessageUsager — cree un enregistrement SuiviCommunication dans la BD Mediator (CreerSuiviCommunication, ObtenirSource).EcouterResultatsMessageUsager — attend les resultats d'envoi des canaux en aval; appelle MajSuiviCommunication, ObtenirSources pour finaliser le suivi.Ports d'envoi :
STM.ICUMediator.EAI_GetAbonnements — WCF-WebHttp → ${WebServiceGlid} (GET /ListesDistribution/{liste}/Abonnements), authentification Basic (nom d'utilisateur/mot de passe)STM.ICUMediator.EAI_GetListesDistribution — WCF-WebHttp → ${WebServiceGlid} (GET /Applications/{application}/ListesDistribution), authentification BasicSTM.ICUMediator.EAI_SuiviCommunication — WCF-SQL → ${IcuMediatorDbAdress} (CreerSuiviCommunication, MajSuiviCommunication, ObtenirSource, ObtenirSources); livraison ordonneeSTM.ICUMediator.EAI_ObtenirCommunication — WCF-SQL → ${IcuMediatorDbAdress} (ObtenirCommunication); utilise pour repondre a GET /Communication/{commId}STM.ICUMediator.EAI_Null — FILE → ${RepertoireArchive} (puits nul d'erreurs)Objectif : Lit un fichier XML declencheur depuis un partage de fichiers et distribue les messages en masse vers deux canaux simultanement (Courriel en francais, SMS en anglais — code en dur dans l'orchestration).
Emplacement de reception :
STM.ICUMassif.EAI_Declenchement.FILE — FILE → ${RepertoireDeclenchement}\*.xml, interrogation toutes les 60 secondes, pipeline PassThruFlux d'orchestration :
DistribuerMessages — active par la reception FILE; definit Media1="Courriel", Langue1="fr", Media2="Texto", Langue2="en"; lance deux branches paralleles appelant chacune EnvoiMessage.EnvoiMessage — sous-orchestration invoquee en parallele; construit les messages types (AppelVocal/Courriel/Texto) et les publie dans le BizTalk MessageBox; les solutions de canal en aval (ICUCourriel, ICUTexto) les recuperent via des abonnements.Note : Aucun port d'envoi directement dans Massif — il s'appuie sur le routage base sur le contenu de BizTalk pour livrer aux solutions de canal. L'assembly Helper (STM.ICUMassif.EAI.Helper) fournit des utilitaires de journalisation.
https://apipriv.stm.info/int/rvi-outbound/v1cseai_apimpr / mot de passe dans les parametres d'environnement)STM.TLSEndpointBehavior.EAI). Nombre de reessais = 1, intervalle de reessai = 90 secondes. Fenetre de service appliquee de 04h00 a 02h00; appels bloques de 02h00 a 04h00./icu/telus.svc${RepertoireFichierNuanceTtsTelusEnvoi} via le composant de pipeline personnalise FileStreamProvider.IBM.Data.Informix)Host=uccxprod03; Service=1504; Server=uccxprod03_uccx; Database=db_crauccxhruser)mssql://SQLEAIPR//ICU (WCF-SQL) / Data Source=SQLEAIPR; Initial Catalog=ICU (ADO)${IcuMediatorDbAdress} (separee de la BD ICU)application/x-www-form-urlencoded${uriFournisseur} (parametre — non expose dans PortBindingsMaster)STM.WCFHttpHeaderBehavior.EAI.Inspector + STM.TLSEndpointBehavior.EAI)send et send_batch retournent des reponses JSON analysees via le pipeline personnalise STM.JsonAssembler. Nombre de reessais = 0 sur l'envoi (envoi sans confirmation pour le suivi de livraison, interroge separement).${WebServiceGlid} (parametre)${UsagerGlid} / ${MotDePasseGlid}) + comportement de point de terminaison TLSSTM.JsonAssembler.EAI.PipelineComponents.JsonDisassembler. Mappage de proprietes variables utilise pour injecter les parametres de chemin URL depuis les proprietes du message.${UrlSendGrid} (parametre — pointe vers l'API SendGrid v3)Authorization: Bearer setatruntime injecte par STM.WCFHttpHeaderBehavior.EAI.Inspectorhttps://login.microsoftonline.com (pour le jeton OAuth); URL de l'API Graph pour les operations EWS deduitehttps://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token, puis jeton Bearer sur les appels suivantsSTM.ICUCourriel.EAI.TraiteRejet.Pipeline.Snd_wwwFormUrlEncoded pour la requete de jeton (corps encode en formulaire). La reponse du jeton est analysee en JSON.${SMTPHostName}:${SMTPPort} (parametre)EnvoyerCourriel achemine entre SMTP et SendGrid. Coexiste avec le chemin SendGrid. La migration vers Azure devrait consolider les deux chemins en une seule API de courriel sortant.https://api.twitter.com/2STM.WCFHttpHeaderBehavior.EAI.Inspector; pas de SSO, pas d'identifiants statiques dans les liaisons${OptimaxPowerBIDbAdress} (parametre)\\corpo.stm.info\EAIPR2k20\Archives\STM.ICU.EAI — archive d'erreurs vocales${RepertoireDeclenchement}\*.xml — repertoires de declenchement Massif et Courriel${RepertoireAppelVocal}, ${RepertoireCourriel}, ${RepertoireTexto}, ${RepertoireMessageEntrant} — cibles de livraison des solutions Recup${RepertoireReprise}\*.json — reprise directe ResSociaux| Solution | Raison |
|---|---|
| STM.ICUAppelVocalRecup.EAI | CBR pur; aucune orchestration; un seul port d'envoi FILE abonne au type de message. Remplacer par un filtre Logic App + stockage blob ou abonnement a un sujet Service Bus. |
| STM.ICUCourrielRecup.EAI | Meme patron que AppelVocalRecup. CBR pur vers FILE. |
| STM.ICUTextoRecup.EAI | Meme patron. CBR pur vers FILE. |
| STM.ICUMessageEntrantRecup.EAI | Meme patron, espace de noms de type de message different. |
| STM.ICUTextoExtraction.EAI | ETL par lot simple. Planification → requete SQL → insertion SQL. Logic App + procedures stockees Azure SQL. Aucun HTTP externe. |
| Solution | Raison |
|---|---|
| STM.ICUMassif.EAI | Declencheur FILE + distribution parallele vers deux canaux. Traduisible en Logic App avec branches paralleles. La complexite principale est de s'assurer que le routage des messages enfants vers les API de canal en aval fonctionne correctement. |
| STM.ICUResSociaux.EAI | L'API Twitter v2 est du REST standard; OAuth2 Bearer est simple. Complexite principale : injection du jeton a l'execution (actuellement via un comportement WCF personnalise — a reproduire dans les en-tetes d'action HTTP Logic App), verification de la limite de debit (requete SQL) et ecritures dans la BD de suivi. |
| STM.ICUTexto.EAI | Multiples operations API VuDu (envoi / lot / interrogation de statut). Le pipeline de requetes encodees en formulaire personnalise doit etre reimplemente. Les orchestrations d'interrogation de statut (MettreAJourBroadcast, MettreAJourFeed) necessitent des Logic Apps planifiees. Le suivi SQL est l'equivalent standard WCF-SQL (connecteur SQL). |
| Solution | Raison |
|---|---|
| STM.ICUCourriel.EAI | Double chemin d'envoi (SMTP vs SendGrid). Sous-flux d'acquisition de jeton OAuth2 pour Exchange Online. Cinq interrogateurs de listes de suppression distincts pour SendGrid. Boucle complexe de traitement des rebonds avec cycles d'interrogation/mise a jour de la BD. L'integration Exchange Online EWS necessite une approche moderne via l'API Graph. 11 orchestrations au total. |
| STM.ICUMediator.EAI | Agit comme la passerelle API centrale — toutes les autres solutions de canal en dependent. Doit preserver le patron requete/reponse (/Communication/{commId} GET). Appels REST GLID avec injection de parametres de chemin URL. Suivi du cycle de vie des communications a travers les reponses asynchrones des canaux (correlation EcouterResultatsMessageUsager). Exigence de livraison ordonnee sur le port SQL. |
| STM.ICU.EAI | Solution la plus complexe dans l'ensemble. Raisons : (1) BD IBM Informix — aucun adaptateur Azure natif; necessite un connecteur personnalise ou un service intermediaire; (2) patron de convoi de longue duree gerant l'etat actif des appels a travers les rappels entrants de Telus; (3) interface Telus bidirectionnelle (BizTalk appelle Telus et sert de point de terminaison HTTP pour les rappels de Telus); (4) service de fichier TTS depuis le disque via un composant de pipeline personnalise; (5) logique d'application de fenetre de service integree dans l'emplacement de reception; (6) gestion complexe des reessais/delais d'attente avec fenetre d'ignorance de rappel de 8 minutes; (7) mecanisme de message planifie de test/battement de coeur (TEST UCCX). |