Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit comment utiliser le script de normalisation SIP (Session Initiation Protocol) dans Cisco Call Manager (CCM) avec quelques exemples de base.
Cisco vous recommande de prendre connaissance des rubriques suivantes :
Les informations de ce document sont basées sur la version 11.5 de CCM.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Dans le cas de la ligne principale SIP, le script doit être appliqué directement sur la ligne principale SIP. L'utilisation du script sur le profil SIP au lieu de Trunk ne fonctionnera pas.
Voici les étapes à suivre :
2. Accédez à Device > Trunk.
Sélectionnez la liaison sur laquelle vous voulez appliquer le script et, sur la page de configuration de celui-ci, sélectionnez le script créé précédemment. Sélectionnez l'option Enable Trace et elle imprime les modifications effectuées par le script dans les journaux SDL (Signal Distribution Layer), comme indiqué dans l'image. Enregistrez la configuration, Appliquez la configuration, puis réinitialisez la liaison afin que les modifications prennent effet.
Dans le cas des téléphones SIP, vous devez utiliser le script sur le profil SIP des téléphones.
Voici les étapes à suivre.
Voici la principale source d'informations détaillées sur le développement du script de normalisation SIP : Guide du développeur pour la transparence et la normalisation SIP.
Ce guide contient différentes fonctions disponibles pour effectuer des manipulations dans les messages SIP, le contenu SDP (Session Description Protocol) et d'autres API avancées.
Voici quelques exemples de script de base :
Ici vous remplacez l'anonyme de From Header du message SIP INVITE/REINVITE sortant.
M = {} function M.outbound_INVITE(msg) -- Replacing the Anonymous from From Header local from = msg:getHeader("From") local newfrom = string.gsub(from, "anonymous" ,"1111") msg:modifyHeader("From", newfrom) end return M
Code | Explication |
M={} | Initialisation du contenu du message. M obtient ici tout le contenu du message SIP |
fonction M.outbound_INVITE(msg) | Fonction Lua appliquée au message M(SIP Message) dans la direction sortante message INVITE/REINVITE. La direction est toujours décidée en termes de CUCM, qu'elle soit entrante ou sortante. Le type de message peut être de différents types tels que INVITE, 183, 200. Pour plus de détails, reportez-vous à la section Overview du Developers Guide for SIP Normalization. |
local de = msg : getHeader(« De ») | Stocke le contenu du message De sous forme de variable locale |
getHeader | Une des fonctions disponibles pour la normalisation dans CCM afin d'obtenir le contenu d'un en-tête dans une variable |
chaîne.gsub | Une fonction Lua afin de remplacer un contenu particulier d'une chaîne |
modifierEnTête | Encore une fois, une fonction disponible dans CCM afin de modifier le contenu de l'en-tête |
Ici, vous supprimez l'en-tête Cisco-Guide du message SIP INVITE/REINVITE entrant :
M = {} function M.inbound_INVITE(msg) msg:removeHeader("Cisco-Guid") end return M
Dans ce cas, vous ajoutez l'INFO dans le contenu de l'en-tête Allow.
Cette valeur est ajoutée dans le contenu d'origine de Allow après une virgule.
M = {} function M.outbound_INVITE(msg) msg:addHeader("Allow", "INFO") end return M
Des API sont disponibles afin de modifier le contenu SDP à partir d'un message SIP. Pour modifier SDP, il doit obtenir le corps du contenu SDP de l'objet Message SIP Lua avec l'API getSdp() fournie par l'objet Message SIP. Le script peut ensuite utiliser la bibliothèque de chaînes qui inclut les API de Cisco afin de manipuler le SDP. Lors de la modification, le SDP est réécrit à l'objet Message SIP avec l'API setSdp(sdp) fournie par l'objet Message SIP. Référez-vous aux API de messages SIP pour plus d'informations sur ces API.
local sdp = msg:getSdp() -- modification of the SDP happens at this point -- Update the SDP associated with the SIP message msg: etSdp(sdp)
Note: Le code change a= ligne pour que le codec G.722 soit G722 sans point.
M = {} function M.inbound_INVITE(msg) local sdp = msg:getSdp() if sdp then local g722_line = sdp:getLine("a=","G.722") if g722_line then --Replace G.722 with G722. The dot is special and must be escaped using % when using gsub. g722_line = g722_line:gsub("G%.722", "G722") sdp = sdp:modifyLine("a=", "G.722", g722_line) msg:setSdp(sdp) end end end return M
Utilisez cette section pour confirmer que votre configuration fonctionne correctement.
Activez l'option Trace lorsque vous appliquez le script afin de vérifier si le script fonctionne ou non à partir des journaux SDL.
Cette section fournit des informations que vous pouvez utiliser pour dépanner votre configuration.
Voici quelques vérifications si le script ne fonctionne pas comme prévu :