De documentatie van dit product is waar mogelijk geschreven met inclusief taalgebruik. Inclusief taalgebruik wordt in deze documentatie gedefinieerd als taal die geen discriminatie op basis van leeftijd, handicap, gender, etniciteit, seksuele oriëntatie, sociaaleconomische status of combinaties hiervan weerspiegelt. In deze documentatie kunnen uitzonderingen voorkomen vanwege bewoordingen die in de gebruikersinterfaces van de productsoftware zijn gecodeerd, die op het taalgebruik in de RFP-documentatie zijn gebaseerd of die worden gebruikt in een product van een externe partij waarnaar wordt verwezen. Lees meer over hoe Cisco gebruikmaakt van inclusief taalgebruik.
Cisco heeft dit document vertaald via een combinatie van machine- en menselijke technologie om onze gebruikers wereldwijd ondersteuningscontent te bieden in hun eigen taal. Houd er rekening mee dat zelfs de beste machinevertaling niet net zo nauwkeurig is als die van een professionele vertaler. Cisco Systems, Inc. is niet aansprakelijk voor de nauwkeurigheid van deze vertalingen en raadt aan altijd het oorspronkelijke Engelstalige document (link) te raadplegen.
In dit document wordt oproeproutering via Cisco IOS® en Cisco IOS XE beschreven.
Hoewel er geen formele vereisten zijn om dit document te lezen, is het geschreven met de verwachting dat de lezer al enige kennis heeft van de onderliggende protocollen voor spraaksignalering die worden gebruikt om telefoongesprekken tot stand te brengen en te verbinden. Deze protocollen worden vaak genoemd.
Signaleringsprotocollen: Session Initiation Protocol (SIP), H323 (h225 / h245), Media Gateway Control Protocol (MGCP), Skinny Client Control Protocol (SCCP), ISDN Q931, E1 R2.
Mediaprotocollen: Real Time Protocol (RTP), spraakcodecs, videocodecs.
Analoge technologieën: oor en mond (E & M), Foreign Exchange Subscriber (FXS) en Foreign Exchange Office (FXO).
De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Dit document behandelt de mechanismen achter inbound en outbound dial-peer matching met Plain Old Telephone Service (POTS) en Voice over IP (VoIP) Network call legs.
Naast informatie over de inbelverbinding behandelt dit document belangrijke onderwerpen die betrekking hebben op de routering van oproepen. Deze omvatten cijfermanipulatie, een snel overzicht van Sessie-initiatieprotocol (SIP) berichtenmanipulatie, een paar methoden voor het beperken van belmogelijkheden, een snel overzicht van media- en signaleringsbinding en tot slot een beetje probleemoplossing.
In dit document worden configuratievoorbeelden gebruikt, evenals foutopsporing en opdrachtuitvoer als referentiepunten. De vele functies in dit document zijn duidelijk gemarkeerd met de versie waarin de functie werd geïntroduceerd in zowel Cisco IOS als Cisco IOS XE. Deze informatie kan ook snel worden verwezen in de sectie Opdracht en functie stappenplan. Als er een zeer opvallend defect is, wordt het in de tekst gekoppeld, zodat lezers zich bewust zijn.
|
attribuut |
Beschrijving |
|---|---|
|
cijferreeks |
Wordt ook wel nummerreeks, telefoonnummer of E164-nummer genoemd.Bestaat volledig uit cijfers 0 tot en met 9 met een optioneel symbool (+).
|
|
Dialed Number Identification Service (DNIS) |
Dit is het opgeroepen nummer of het bestemmingsnummer voor een oproep. |
|
Automatische nummeridentificatie (ANI) |
Dit is het oproepnummer of het oorspronkelijke oproepnummer voor een oproep. Dit kan ook worden aangeduid als de Calling Line Identifier (CLID), die ook de titel van de Caller ID kan worden. |
|
Uniform Resource Identifier (URI) |
Een URI is ofwel een sip: of tel: string die het meest wordt gebruikt met VoIP Protocollen SIP en H323.
|
|
Carrier-id |
CID-voorbeelden: Opmerking: Cisco bug ID CSCua14749 |
|
route-string |
Een Cisco Proprietary Header voor ILS Route-Strings gebruikt met SIP.
|
|
ENUM |
ENUM is een protocol dat Domain Name Service (DNS) gebruikt om E164-telefoonnummers te vertalen naar URI's. Dit wordt in dit document niet behandeld. |
|
PSTN |
openbaar geschakeld telefoonnetwerk |
|
ITSP |
aanbieder van internettelefonie |
|
SBC |
Sessiegrenscontroller. Dit is het apparaat dat staat als het scheidingspunt tussen uw LAN en een ITSP/PSTN-netwerk |
| Feature | Cisco IOS-versie | Cisco IOS XE-versie |
|
Nummeruitbreiding (num-exp) Dial-peers (POTS en VOIP) antwoordadres doelpatroon inkomend oproepnummer sessiedoel (IPv4 en DNS) Max. aansluitingen (max-conn) direct naar binnen wijzerplaat forward-digits (POTS) prefix (POTS) Time-outs tussen cijfers (spraakpoort) |
11.3(1)T |
Alle |
|
dial-peer terminator |
12.0 |
Alle |
|
jachthaven |
12.0(5)T |
Alle |
|
ISDN-kaarten |
12,0(6)T |
Alle |
|
Dial-peer-jachtschema's |
12,0(7)XK |
Alle |
|
Regel en profiel voor spraakvertaling vertaal-uitgaand nummering digit-strip (POTS) |
12.0.(7)XR1 |
Alle |
|
Sessiedoel (SIP-server) |
12.1, LID 1, ONDER T) |
Alle |
|
POTS Trunk Group |
12,1, LID 3, ONDER T) |
Alle |
|
DNIS-kaart (uitgaand) |
12.2(2)XB |
Alle |
|
trunk-group-label |
12,2(11)T |
Alle |
|
Dial-peer (gegevens) |
12,2(13)T |
Alle |
|
Voice Class URI (Uitgaand) |
12,3(4)T |
Alle |
|
uitgaande proxy |
12,4(15)T |
Alle |
|
sessiedoel (IPv6) |
12,4(22)T |
Alle |
|
SIP-profielen (uitgaande) |
15,0(1)M |
Alle |
|
Voice Class URI (Inbound) spraakbrongroep |
15.1(2)T |
3,8 S |
|
SIP-copylist doel sessie (registratieserver) |
15.1, LID 3, ONDER T) |
3,6 S |
|
call-route (URL) |
15,2, LID 1, ONDER T) |
3,3S |
|
maximale bandbreedte |
15,2, LID 2, ONDER T) |
3,7 S |
|
E164-PATROON-KAARTEN (UITGAAND) |
15,2, LID 4, ONDER M) |
3,7 S |
|
routestring van spraakklasse call-route (dest-route-string) |
15,3, lid 3, onder m) |
3,10s |
|
Dial-Peer Groups (VOIP) E164-PATROON-KAARTEN (INKOMEND) Doelservergroep requiritoir Sessiedoel (SIP-URI) |
15,4(1)T |
3,11 S |
|
Dial-peer provisioningbeleid SIP-profielen (binnenkomend) |
15,4(2)T |
3,12 S |
|
Dial-Peer Group (POTS) |
15,5(1)T |
3,14 S |
|
Stem klasse huurders |
15,6(2)T |
16.3.1 |
|
VRF-filtering voor dial-peers |
15,6(3)M |
16.3.1 |
|
E164-Vertaling |
N.v.t. |
16.8.1 |
|
SIP DSAPP |
N.v.t. |
16.12.1 |
|
Huntstop voor servergroepen |
N.v.t. |
17.4.1 |
|
sip luisterpoort voor huurder en huurder Filtering voor dial-peers |
N.v.t. |
17.8.1 |
|
Op DNS SRV gebaseerde optie Keepalive |
N.v.t. |
17.9.1 |
Cisco IOS- en Cisco IOS XE-gateways gebruiken een concept van een dial-peer om gespreksroutering en onderhandelingsmogelijkheden voor elk deel van een gesprek te regelen. Een call leg is de bidirectionele communicatie tussen twee call agents. Een call agent is een apparaat dat telefoongesprekken initieert, verwerkt of doorstuurt. Dit kan en is niet beperkt tot apparatuur van de telefonieprovider, een Cisco Gateway, een IP-telefoon, een Cisco Unified Communication Manager (CUCM), Cisco Unity Connection (CUC), enzovoort. Er zijn veel te veel Call Agents om op te noemen.
Scenario: Een oproep komt aan bij een Cisco-gateway van een andere callagent en is de inkomende call leg (in-leg). De gateway verwerkt de oproep en stuurt op basis van de verwerking ervan de oproep naar de volgende oproepagent. Dit is de uitgaande call leg (out-leg).
Afbeelding 1 toont een oproep van de PSTN naar CUCM-routering via een Cisco Voice Gateway en de respectieve inkomende en uitgaande gespreksinformatie.

Afbeelding 1 - Inkomende en uitgaande oproepbenen geïllustreerd
Een succesvolle oproep via een Cisco Gateway ALTIJD (zie opmerking) komt overeen met een inkomende of uitgaande dial-peer om correct te routeren. Inbound en outbound dial-peers zijn vergelijkbaar met de eerder genoemde call-legs. In afbeelding 1 komt het gesprek van de PSTN aan bij de Cisco Gateway en moet het overeenkomen met een inkomende dial-peer. Vervolgens gebruikt de gateway een uitgaande dial-peer om de oproep naar de volgende oproepagent te routeren. Het is belangrijk om te onthouden dat deze termen worden gedefinieerd vanuit het perspectief van de Cisco Gateway.
Door een dial-peer voor elke kant van het gesprek te matchen, heeft een beheerder de macht om veel aspecten van elke specifieke oproeppoot te regelen. Voorbeelden hiervan zijn spraakcodecs, DTMF-voorkeuren, cijfermanipulatie, waar de oproep moet worden gerouteerd en vele andere instellingen. Dial-peers kunnen worden geconfigureerd met zowel inkomende als uitgaande overeenkomende instructies, zodat dezelfde dial-peer voor zowel de in-leg als de uit-leg mogelijk is als een geldige inkomende en uitgaande overeenkomende configuratie wordt toegepast op die specifieke dial-peer.
Afbeelding 2 illustreert dezelfde inkomende en uitgaande oproeppoten als afbeelding 1, maar met de respectievelijke dial-peers voor een oproep van de PSTN naar CUCM-routering via een Cisco Voice Gateway.

Afbeelding 2 - Inkomende en uitgaande dial-peers geïllustreerd
Cisco Voice Gateways kunnen veel verschillende soorten spraakoproepen en protocollen met elkaar verbinden, waaronder IP naar IP, POTS naar POTS en IP naar POTS of vice versa.
Afbeelding 3 illustreert een VoIP-naar-VoIP-oproep via Cisco Unified Border Element (CUBE).

Afbeelding 3 - Inbound en Outbound dial-peers voor een VoIP-oproep
Afbeelding 4 geeft een POTS-naar-POTS-oproep weer via een Cisco Gateway.

Afbeelding 4 - Inkomende en uitgaande dial-peers voor een POTS naar POTS-oproep
|
POTTEN |
Plain Old Telephony Service dial-peers zijn geschikt voor analoge verbindingen zoals analoge FXS-, FXO-, ISDN T1 / E1s-, E1 R2- en oor- en mondverbindingen (E & M). Deze verzenden of ontvangen een oproep van / naar een fysieke spraakpoort op de gateway. |
|
VOIP |
Voice Over IP-dial-peers worden voornamelijk gebruikt om H323- en SIP-verbindingen van en naar de gateway te bedienen. Deze dial-peers verzenden en ontvangen signalen van zowel IPv4- als IPv6-adressen en volledig gekwalificeerde domeinnamen (FQDN) met behulp van het Domain Name System (DNS). --- VoIP dial-peers kunnen ook worden gebruikt voor Voice over Frame Relay (VoFR), Voice over ATM (VoATM), Voice over High-Level Data Link Control (VoHDLC) en Registratie, Toelating en Status (RAS) signalering en sessie doelen voor deze dial-peers kunnen ook nederzettingen en ENUM waarden. Opmerking: Sommige van deze typen configuraties zijn oudere technologieën die niet in nieuwere netwerken worden gezien en met Cisco IOS XE worden sommige niet langer ondersteund. Als gevolg daarvan vallen ze niet onder dit document. |
|
MMOIP |
Multimedia Mail Over IP-dial-peers worden gebruikt om e-mails te verzenden naar Exchange-servers. Deze worden meestal gebruikt voor t37 on-ramp / off-ramp faxen. Deze typen dial-peerapparaten vallen niet binnen het bereik van dit document. |
Opmerking: Het maximale aantal inbelpeers dat op een Cisco-gateway kan worden geconfigureerd, is afhankelijk van het beschikbare geheugen (DRAM). Elke dial-peer verbruikt ongeveer 6 KB geheugen, dus zorg ervoor dat de gateway ten minste 20% van het totale geheugen gereserveerd voor andere CPU-processen. Een groot aantal geconfigureerde dial-peers kan bijdragen aan de vertraging om een oproep te routeren. Dit kan belangrijk zijn omdat de Cisco-spraaktoepassing van bovenaf door dial-peers kijkt, vergelijkbaar met een Access Control List (ACL). Dit is meestal geen probleem op nieuwere Cisco Gateways.
Voorbeeldfout:
May 26 12:59:46.406: %DIALPEER_DB-3-ADDPEER_MEM_THRESHOLD: Addition of dial-peers limited by available memory
Wanneer een Cisco-gateway een oproepinstallatieverzoek ontvangt, begint de gateway te zoeken naar een toepasselijke inkomende dial-peer voor dit gesprek. Dit is geen digit-by-digit analyse; in plaats daarvan wordt het volledige bericht gebruikt om te bepalen welke inkomende dial-peer is geselecteerd. De volgorde van de items in het gecontroleerde bericht is grotendeels afhankelijk van het protocol voor de oproep zoals aangegeven door de voorkeurslijsten gedefinieerd in tabel 1, tabel 2 en tabel 3. Een dial-peer hoeft alleen te voldoen aan een van de voorwaarden voor matching. Het is niet nodig dat alle attributen in de dial-peer worden geconfigureerd of dat elk attribuut overeenkomt met de installatiegegevens van de oproep. Alle dial-peers worden doorzocht op basis van de criteria voor de eerste wedstrijd. De gateway gaat alleen naar de volgende criteria als er geen overeenkomst is gevonden.
Tabel 1. Voorkeur voor inkomende SIP-kiezerselectie
|
voorkeur |
Overeenstemmingscriteria |
Dial-peer-opdrachten |
|
1 |
URI |
Inkomende URI via <uri-tag> |
|
2 |
URI |
Inkomende URI-aanvraag <URI-tag> |
|
3 |
URI |
Inkomende URI naar <URI-TAG> |
|
4 |
URI |
Inkomende URI van <URI-TAG> |
|
5 |
opgeroepen nummer |
inkomend aangeroepen nummer <number-string> Inkomend met de naam E164-pattern-map <pattern-map-number> |
|
6 |
oproepnummer |
inkomend aanroepend E164-pattern-map <pattern-map-number> antwoordadres <number-string> |
|
7 |
Bestemmingspatroon (ANI) |
bestemmingspatroon <number-string> |
|
8 |
Carrier-ID |
carrier-id bron <string> |
Opmerking: in aanmerking komende inkomende kiezels kunnen worden gefilterd door VRF of Tenant. als de toepasselijke functie is geconfigureerd. Voor meer informatie, zie Virtual Routing and Forwarding (VRF) en Dial-Peer Hunting en Voice Class Tenants secties.
Tabel 2. Voorkeur voor inkomende H323-kiezersselectie
|
voorkeur |
Overeenstemmingscriteria |
Dial-peer-opdrachten |
|
1 |
URI |
Inkomende URI genaamd <uri-tag> binnenkomende URI die <URI-TAG> oproept |
|
2 |
opgeroepen nummer |
inkomend aangeroepen nummer <number-string> Inkomend met de naam E164-pattern-map <pattern-map-number> |
|
3 |
oproepnummer |
inkomend aanroepend E164-pattern-map <pattern-map-number> antwoordadres <number-string> |
|
4 |
Bestemmingspatroon (ANI) |
bestemmingspatroon <number-string> |
|
5 |
Carrier-ID |
carrier-id bron <string> |
Tabel 3. Inbound ENBLOC POTS-voorkeur voor kiezersselectie
|
voorkeur |
Overeenstemmingscriteria |
Dial-peer-opdrachten |
|
1 |
opgeroepen nummer |
inkomend aangeroepen nummer <number-string> |
|
2 |
oproepnummer |
antwoord-adres <number-string> |
|
3 |
Bestemmingspatroon (ANI) |
bestemmingspatroon <number-string> |
|
4 |
Spraakpoort |
poort <voice-port-nummer> |
Wanneer er geen geschikte overeenkomsten zijn voor een inkomende dial-peer voor POTS- of VoIP-oproepen, wijst de gateway dial-peer 0 toe. Dit is niet ideaal omdat dial-peer 0 beperkte mogelijkheden heeft en problemen met oproepen kan veroorzaken. De uitschieter hiervoor zijn SCCP- en MGCP-protocollen die geen dial-peers gebruiken voor het routeren van oproepen. Zie de sectie MGCP en SCCP voor meer informatie.
Dial-Peer 0-mogelijkheden
Uitgaande dial-peers worden gebruikt om POTS- of VoIP-oproepen van de gateway naar de volgende oproepagent te routeren. Net als inbound dial-peer matching is er een lijst met items die de gateway kan gebruiken om dial-peers te matchen op basis van de voorkeursvolgorde voor het specifieke protocol. Echter, in tegenstelling tot inkomende dial-peers, als er geen in aanmerking komende uitgaande dial-peer om de route van de oproep, dan is de oproep mislukt. Net als inbound dial-peer matching worden alle dial-peers doorzocht op basis van de eerste overeenkomende criteria. De gateway gaat alleen naar de volgende criteria als er geen overeenkomst is gevonden.
Tabel 4. Voorkeur voor selectie van uitgaande SIP-kiezer
|
voorkeur |
Overeenstemmingscriteria |
Dial-peer-opdrachten |
|
1 |
dial-peergroep-kiezer |
Bestemming DPG <dpg-tag> (DPG geconfigureerd op inkomende dial-peer) |
|
2 |
URI Beleid voor inbelverbinding |
URI-bestemming van <URI-tag> (DPP geconfigureerd op inkomende dial-peer) |
|
3 |
ILS-routestring |
destination route-string <route-string-tag> |
|
4 |
URI en Carrier-ID |
bestemmings-uri <uri-tag> EN carrier-id doel <string> |
|
5 |
Nummer en vervoerder-ID genoemd |
destination-pattern <number-string> EN carrier-id target <string> |
|
6 |
URI |
bestemmings-URI <uri-tag> |
|
7 |
opgeroepen nummer |
bestemmingspatroon <DNIS-nummer> Bestemming E164-Pattern-Map <Pattern-Map-Number> DNIS-map <DNIS-map-nummer> |
|
8 |
oproepnummer |
Bestemming aanroepen E164-pattern-map <pattern-map-number> |
Opmerking: Wanneer zowel inkomende als uitgaande kiezerpeers zijn geconfigureerd met aanroepende e164-patroonafbeelding, is het essentieel om een beleid voor het aanbieden van kiezersfuncties toe te passen op de inkomende kiezersgroep om mislukte oproepen te voorkomen.
Tabel 5. Voorkeur voor uitgaande H323-kiezerselectie
|
voorkeur |
Overeenstemmingscriteria |
Dial-peer-opdrachten |
|
1 |
dial-peergroep-kiezer |
Bestemming DPG <dpg-tag> (geconfigureerd op inkomende dial-peer) |
|
2 |
URI en Carrier-ID |
bestemmings-uri <uri-tag> EN carrier-id doel <string> |
|
3 |
Nummer en vervoerder-ID genoemd |
destination-pattern <number-string> EN carrier-id target <string> |
|
4 |
URI |
bestemmings-URI <uri-tag> |
|
5 |
opgeroepen nummer |
bestemmingspatroon <number-string> Bestemming E164-Pattern-Map <Pattern-Map-Number> DNIS-map <DNIS-map-nummer> |
|
6 |
oproepnummer |
Bestemming aanroepen E164-pattern-map <pattern-map-number> |
Tabel 6. Voorkeur voor selectie van uitgaande POTS-kiezer
|
voorkeur |
Overeenstemmingscriteria |
Dial-peer-opdrachten* |
|
1 |
dial-peergroep-kiezer |
DPG <dpg-tag>(geconfigureerd op inkomende dial-peer) |
|
2 |
URI en Carrier-ID |
bestemmings-uri <uri-tag> EN carrier-id doel <string> |
|
3 |
Nummer en vervoerder-ID genoemd |
destination-pattern <number-string> EN carrier-id target <string> |
|
4 |
URI |
bestemmings-URI <uri-tag> |
|
5 |
opgeroepen nummer |
bestemmingspatroon <DNIS-nummer>dnis-map <map-nummer> |
Opmerking: In het gedeelte Number String Dial-Peer Hunting en URI Dial-Peer Hunting wordt beschreven hoe de gateway een lijst met potentiële opdrachten voor elke rij met matchcriteria evalueert voordat wordt overgegaan naar de volgende matchcriteria. Het evalueert bijvoorbeeld alle potentiële doelpatroonovereenkomsten en doelpatroonovereenkomsten e164-patroontoewijzingsopdrachten voordat het de oproepnummeropdrachten onderzoekt.
Nummer tekenreeksvoorkeur:
Net zoals URI's een specifieke volgorde van bewerkingen hebben voor het evalueren van matches, is er ook een set regels die wordt gebruikt bij het evalueren van een numerieke cijferreeks. Het standaard jachtschema voor een Cisco-gateway is ingesteld op 0. Dit betekent dat de gateway zoekt naar een patroon met de langste overeenkomst (meest specifiek). Als er twee dial-peers zijn met dezelfde matchlengte, kijkt de gateway naar de expliciet gedefinieerde dial-peer-voorkeur. Als beide hetzelfde zijn, kiest het er een in een willekeurige volgorde.
Er zijn andere dial-peer-jachtschema's beschikbaar voor configuratie; de meeste implementaties houden echter de standaard van 0.
Tip: Als er buiten de standaardvolgorde kiespeers worden gekoppeld, kan een beheerder de actieve configuratie onderzoeken voor een niet-standaard kiespeerjachtschema.
Gateway(config)# dial-peer hunt ? <0-7> Dial-peer hunting choices, listed in hunting order within each choice: 0 - Longest match in phone number, explicit preference, random selection. 1 - Longest match in phone number, explicit preference, least recent use. 2 - Explicit preference, longest match in phone number, random selection. 3 - Explicit preference, longest match in phone number, least recent use. 4 - Least recent use, longest match in phone number, explicit preference. 5 - Least recent use, explicit preference, longest match in phone number. 6 - Random selection. 7 - Least recent use.
Het langste match number string dial-peer algoritme vindt de dial-peer met de meeste nummers in een reeks die precies overeenkomen met een reeks nummers in een getallenreeks. Dit concept wordt verduidelijkt in het volgende scenario.
Scenario: In aanmerking komende dial-peers zijn geconfigureerd met deze mogelijke overeenkomsten, en de gateway is het evalueren van een digit-string van 2001. Dial-peer 1 kan elk nummer 2000 tot 2999 evenaren, terwijl dial-peer 2 2000 tot 2009 kan evenaren. Dial-Peer 2 zou overeenkomen voor deze oproep als het is de langste match (meest specifiek) voor de cijferreeks 2001 wanneer de standaard dial-peer jacht mechanismen wordt gebruikt (dial-peer hunt 0). Met andere woorden, de reeks van getallen 200 is de grootste reeks die precies overeenkomt met een reeks van getallen in de getallenreeks 2001.
!
dial-peer voice 1 voip
destination-pattern 2...
!
dial-peer voice 2 voip
destination-pattern 200.
!
Voorkeur wordt gedefinieerd als het door de beheerder gedefinieerde gewicht voor elke dial-peer. Beheerders kunnen een voorkeur configureren, zodat de oproep altijd een specifieke dial-peer gebruikt voor anderen. Standaard hebben alle dial-peers de voorkeur 0. Een dial-peer met voorkeur 0 wordt vergeleken met een andere dial-peer met voorkeur 1 tot en met 10. De meeste beheerders stellen meerdere dial-peers in om een oproep naar een specifieke CUCM-abonnee te sturen met een back-upabonnee of een andere call-agent die wordt geconfigureerd met een andere dial-peer met een lagere voorkeur (die is geconfigureerd met een hoger nummer).
Scenario: Twee dial-peers worden geconfigureerd met dezelfde lengte voor de cijferreeks van 2001. De beheerder definieert een expliciete voorkeur. De gateway evalueert beide dial-peers hetzelfde, omdat hun matchlengte hetzelfde is. De beheerder stelt echter dial-peer 1 in met een hogere voorkeur, zodat dial-peer wordt gekozen als de eerste dial-peer die wordt gebruikt bij het routeren van het gesprek. Dial-Peer 2 zou blijven als een secundaire optie kan een storing optreden op de eerste dial-peer.
!
dial-peer voice 1 voip
destination-pattern 2...
preference 1
!
dial-peer voice 2 voip
destination-pattern 2...
preference 2
!
Een Cisco-gateway probeert alleen een oproep te routeren via één in aanmerking komende uitgaande dial-peer tegelijk. Als een storing wordt waargenomen op de eerste geselecteerde dial-peer, probeert de gateway de oproep naar de volgende in aanmerking komende dial-peer te routeren. Dit gaat door totdat het gesprek slaagt of mislukt omdat er geen kiescollega's meer zijn die in aanmerking komen om te proberen. Een veel voorkomend symptoom van dial-peer jagen en falen is een merkbare vertraging in de ringback tijdens het bellen. Debugs zijn meestal nodig om precies te verifiëren waarom het gesprek faalt op een bepaalde dial-peer. De opdracht huntstop kan worden gebruikt op een dial-peer als een beheerder niet wil dat een gateway naar een andere dial-peer zoekt wanneer een storing wordt waargenomen.
Scenario: Twee dial-peers worden geconfigureerd met dezelfde lengte voor de cijferreeks van 2001. De beheerder heeft een expliciete voorkeur gedefinieerd en wil niet overeenkomen met dial-peer 2 voor dit specifieke gesprek. Omdat er twee dial-peers zijn met dezelfde matchlengte, wordt de voorkeur gebruikt om de dial-peer te bepalen. Dial-Peer 1 heeft het laagste geconfigureerde voorkeursnummer, dus het wordt gebruikt om het gesprek te routeren. Als er zich een storing voordoet op de uitgaande oproeppoot met behulp van dial-peer 1, stopt de gateway onmiddellijk met dial-peer-jacht omdat de opdracht huntstop is geconfigureerd. In dit scenario wordt dial-peer 2 nooit gebruikt voor uitgaande routering.
! dial-peer voice 1 voip destination-pattern 2... preference 1 huntstop ! dial-peer voice 2 voip destination-pattern 2... preference 2 !
Opmerking: huntstop- en voorkeursopdrachten kunnen ook worden gebruikt in combinatie met URI-overeenkomende instructies, omdat het algemene inbelconfiguratieopdrachten zijn. Bovendien kunnen servergroepconfiguraties met spraakklasse gebruikmaken van huntstop-opdrachten in 17.4.1a. Raadpleeg de sectie Bestemmingsservergroepen voor meer informatie hierover.
De gateway kijkt naar elke wedstrijdcriteria en put deze uit voordat deze naar de volgende wedstrijdcriteria gaat. Een voorbeeld hiervan is een inbound SIP call. Gebaseerd op tabel 1. Inbound SIP Dial-Peer Selection Preference, het eerste wat de Cisco-gateway controleert, is de URI en evalueert alle potentiële URI-opdrachten om er een te vinden die past. Als er geen overeenkomst is of als er geen is geconfigureerd, gaat de gateway naar het volgende overeenkomende item en voert een evaluatie uit op basis van die criteria. Dit proces wordt herhaald totdat de oproep routes op basis van een wedstrijd of de gateway loopt uit de wedstrijd criteria te controleren.
Wanneer een inkomende of uitgaande dial-peer is geconfigureerd met een URI-opdracht, onderzoekt de gateway de URI die in meerdere headers is ontvangen voor een potentiële match. De wedstrijdvoorkeur is gebaseerd op de meest specifieke match en de exacte voorkeur gaat uit naar Full URI match, Host Portion, User Portion of telefoon URI. Het kennen van de volgorde van bewerkingen voor URI-matching kan enorm helpen bij dial-peer-matching met SIP- en CUBE-implementaties.
Deze voorkeursvolgorde kan worden gemanipuleerd met behulp van de opdracht spraakklasse uri sip voorkeur om de gebruiker-id als de eerste optie in plaats van host op te geven.
URI-voorkeur:
Ondersteunend document: Cisco Unified Border Element Configuration Guide - Cisco IOS XE 17.6 en verder
Scenario: Een beheerder heeft deze dial-peers geconfigureerd en stuurt een oproep naar de gateway. De kop Van in de ontvangen uitnodiging is Van: <sip:testuser@192.0.2.1>. De gateway kan mogelijk overeenkomen met twee verschillende dial-peers op basis van deze header. Dial-Peer 1 op basis van het gebruikersgedeelte en dial-peer 2 op basis van het hostgedeelte. Aangezien een hostmatch echter een voorkeur heeft boven een gebruikersmatch, wordt dial-peer 2 gebruikt voor de inkomende dial-peer in het gesprek.
! voice class uri URI1 sip user-id testuser ! voice class uri URI2 sip host ipv4:192.0.2.1 ! dial-peer voice 1 voip sess protocol sipv2 incoming uri FROM URI1 ! dial-peer voice 2 voip sess protocol sipv2 incoming uri FROM URI2 !
URI-matching voor inkomende en uitgaande kiescollega's biedt een beheerder de mogelijkheid en flexibiliteit om matches uit te voeren op meer dan een telefoonnummerreeks voor VoIP-protocollen die URI's in hun berichten ondersteunen. Voorafgaand aan Cisco IOS 15.4(1)T en Cisco IOS-XE 3.11S moest een verzoek URI een alfanumerieke user@host bevatten, anders zou een Cisco-gateway het gesprek afwijzen met een 4xx-bericht. Nu kan een URI alleen het hostgedeelte bevatten en de gateway routeert de oproep op basis van alleen de verstrekte host. Bijvoorbeeld sip: cisco.com.
Bovendien konden voorafgaand aan Cisco IOS 15.4(1)T en Cisco IOS-XE 3.11S URI-gebruikersnamen voor spraakklasse alleen numerieke e.164-waarden zijn (sip: 1234@example.com). Dit is gewijzigd zodat beheerders alfanumerieke gebruikers-id's kunnen configureren op CUBE (sip: user@example.com).
Het host- of gebruikersgedeelte van een voice class uri kan reguliere expressies (regex) patronen bevatten die de mogelijke waarden die kunnen worden gematcht aanzienlijk uitbreiden.
Gateway(config-voice-uri-class)# user-id .) % unmatched ()user-id pattern can be of format ^([][0-9A-Za-z\|\/()*+^$&?#--.])*$
Gateway(config-voice-uri-class)# host .)
% unmatched ()host pattern can be of format ^([][0-9A-Za-z\|@\/()*+^$&?#--.])*$
Gateway(config-voice-uri-class)# pattern .)
% unmatched ()pattern pattern can be of format ^([][0-9A-Za-z\|@;:=%!~\/()*+^$&?#--.])*$
Voorbeeld: URI's van spraakklasse
! voice class uri HOST sip host example.com host dns:cisco.example.com host ipv4:10.50.244.2 host ipv6:[2001:4860:4860::8888] ! voice class uri USER sip user-id username ! voice class uri PATTERN sip pattern 8675309 ! voice class uri HostRegex sip host (.*)example.com !
voice class uri ipRegex sip
host 172\.18\.110\.20[567]
! voice class uri PatternRegex sip pattern 555(.*) !
voice class uri ipRegex sip
pattern (172\.18\.110\.10[134]|10\.10\.10\.10)
! One Line that matches 172.18.110.101, 172.18.110.103, 172.18.110.104 OR 10.10.10.10
! voice class uri UserRegex sip user-id test(.*) !
Er kunnen slechts 10 hosts, 1 patroon of 1 user-id worden geconfigureerd per uri van de spraakklasse, zoals dit voorbeeld laat zien. Als er meer items moeten worden aangepast, wordt het aanbevolen om Regex te gebruiken.
Gateway(config)# voice class uri TEST sip Gateway(config-voice-uri-class)#host ipv4:10.1.1.1 Gateway(config-voice-uri-class)#host ipv4:10.2.2.2 Gateway(config-voice-uri-class)#host ipv4:10.3.3.3 Gateway(config-voice-uri-class)#host ipv4:10.4.4.4 Gateway(config-voice-uri-class)#host ipv4:10.5.5.5 Gateway(config-voice-uri-class)#host ipv4:10.6.6.6 Gateway(config-voice-uri-class)#host ipv4:10.7.7.7 Gateway(config-voice-uri-class)#host ipv4:10.8.8.8 Gateway(config-voice-uri-class)#host ipv4:10.9.9.9 Gateway(config-voice-uri-class)#host ipv4:10.10.10.10 Gateway(config-voice-uri-class)#host ipv4:10.11.11.11 Error:Maximum of 10 hosts can only be configured. Gateway(config)# voice class uri TEST2 sip Gateway(config-voice-uri-class)#host dns:1.com Gateway(config-voice-uri-class)#host dns:2.com Gateway(config-voice-uri-class)#host dns:3.com Gateway(config-voice-uri-class)#host dns:4.com Gateway(config-voice-uri-class)#host dns:5.com Gateway(config-voice-uri-class)#host dns:6.com Gateway(config-voice-uri-class)#host dns:7.com Gateway(config-voice-uri-class)#host dns:8.com Gateway(config-voice-uri-class)#host dns:9.com Gateway(config-voice-uri-class)#host dns:10.com Gateway(config-voice-uri-class)#host dns:11.com Error:Maximum of 10 hosts can only be configured. Gateway(config)# voice class uri TEST3 sip Gateway(config-voice-uri-class)#user-id 8675309 Gateway(config-voice-uri-class)#user-id 123456789 Gateway(config-voice-uri-class)#do sh run | s TEST3 voice class uri TEST3 sip user-id 123456789 Gateway(config)# voice class uri TEST4 sip Gateway(config-voice-uri-class)#pattern 8675309 Gateway(config-voice-uri-class)#pattern 123456789 Gateway(config-voice-uri-class)#do sh run | s TEST4 voice class uri TEST4 sip pattern 123456789
Deze functie is toegevoegd in Cisco IOS 15.1(2)T en Cisco IOS-XE 3.8S en maakt gebruik van een spraakklasse-uri die is geconfigureerd en toegepast op een inkomende dial-peer. Inkomende URI is door veel mensen aangenomen over de traditionele inkomende oproep-nummer verklaring voor SIP-oproepen als het de eerste match criteria gecontroleerd bij het selecteren van inkomende dial-peers. Met de opdracht kunnen beheerders ook oproepen die afkomstig zijn van een bepaalde oproepagent of gebruiker beter afstemmen.
Volledige documentatie: configuratiehandleiding voor Cisco Unified Border Element - Cisco IOS XE 17.6 en verder
Dit voorbeeld komt overeen met dial-peer 777 voor elke SIP-aanvraag die afkomstig is van de twee HOST-IP's die zijn gedefinieerd in de URI van de spraakklasse. De gevolgde header wordt gedefinieerd als de kop Van op de inbelverbinding; een beheerder kan echter vele andere definiëren, waaronder VIA, TO en REQUEST (Request URI). Als de CUCM een OPTIONS-ping naar de CUBE verzendt, komt deze nu overeen met dial-peer 777 en bron mijn 200 OK-antwoord op de OPTIONS van de opgegeven interface. Als CUCM een uitnodiging naar de CUBE verzendt, komt dial-peer 777 overeen als de inkomende dial-peer.
! voice class uri CUCM sip
host ipv4:10.50.244.2
host ipv4:10.50.244.20 ! dial-peer voice 777 voip description INCOMING URI session protocol sipv2 incoming uri from CUCM voice-class sip bind control source-interface Loopback777 voice-class sip bind media source-interface Loopback777 !
Cisco IOS-gateways kunnen een uitgaande dial-peer matchen met behulp van een URI door een voice class-uri toe te passen op een uitgaande dial-peer en een call-route-URL toe te voegen aan de globale configuratie. Wanneer dit aanwezig is, kan de CUBE proberen oproepen te routeren op basis van de Request URI. Deze functie is toegevoegd in Cisco IOS 12.3(4)T en is aanwezig in alle Cisco IOS XE-versies. Er kan worden opgemerkt dat standaard de uitgaande SIP Request-URI en To header URI het sessiedoel van de uitgaande-dial-peer hebben. Dit kan worden uitgeschakeld met behulp van de opdracht requuri-passing waarmee de gateway het in-leg URI-hostgedeelte kan doorgeven aan de uit-leg in plaats van het URI-hostgedeelte te vervangen door het sessiedoel. Het commando requuri-passing werd toegevoegd in 15.4(1)T en Cisco IOS XE 3.11S.
voice service voip
sip
call-route url
requri-passing
! voice class uri CUCM sip
host dns:.*.com ! dial-peer voice 777 voip description OUTGOING URI session protocol sipv2 destination uri CUCM
session target sip-uri !
Bron: Configuratiehandleiding voor Cisco Unified Border Element - Cisco IOS XE 17.6 en verder
Naast de URI voor spraakklassen kunnen beheerders een DPP (dial-peer provision-policy) gebruiken om een in-leg URI te matchen voor een uitgaande dial-peer match. Deze functie is toegevoegd in Cisco IOS 15.4(2)T en Cisco IOS XE 3.12S. Een diabetesprovisiebeleid vereist het definiëren van een primair matchattribuut waarbij een secundair matchattribuut optioneel is. Het provisioningbeleid wordt toegepast op een inkomende dial-peer en wanneer die dial-peer wordt geselecteerd voor gebruik op een inkomende call-leg, wordt het beleid aangeroepen. Het resultaat is een uitgaande keuze van de kiezer op basis van het kenmerk van het instelbeleid van de kiezer.
De uitgaande match kan een enkele header of meerdere headers zijn die allemaal waar moeten zijn om de dial-peer te evenaren.
In het voorbeeld is er een voice class uri voor de From en To headers. Voor een OR-match wordt een inbelbeleid geconfigureerd dat twee voorkeuren bevat. De kop Van is de eerste voorkeur en de kop Naar is de back-upvoorkeur. Dial-Peer 1234 is gebouwd om het provisiebeleid voor inkomende matching toe te passen. Vervolgens bouwde dial-peer 11111 en 222222 die de bestemming uri-from en bestemming uri-to opdrachten respectievelijk toe te passen. Deze commando's verwijzen terug naar hun spraakklasse URI. Voor het gesprek kunt u de Invite, match dial-peer 1234 ontvangen en het providerbeleid controleren. Het apparaat kan dan proberen om eerst op de From-header te routeren, wat als een toepasselijke match op dial-peer 11111 is. Als dit niet lukt, kunt u ook proberen om de route op de koptekst naar 22222.
In het voorbeeld wordt ook beschreven hoe u een En-match kunt bereiken met het beleid voor het aanbieden van dial-peerservices. Ervan uitgaande dat dezelfde uitnodiging is ontvangen, kunt u twee koppen definiëren onder één voorkeur en dit toepassen op de inkomende dial-peer.
Nu de uitnodiging is ontvangen, kan het controleren op in aanmerking komende uitgaande dial-peers die voldoen aan beide matchingcriteria die zijn gedefinieerd in het provisiebeleid. Dus in dit voorbeeld moet uw uitgaande dial-peer worden gedefinieerd met zowel de TO- als FROM-header om te worden afgestemd. Als een van beide niet geldig is, wordt deze dial-peer 12345 niet gebruikt.
Opmerking: hoewel we de oproep doorsturen naar de koptekst Van de uitnodiging die de gateway verlaat, heeft deze nog steeds de oorspronkelijke Request URI. We gebruiken gewoon het instelbeleid voor de inbelverbinding om een uitgaande inbelverbinding te matchen en de URI van het verzoek niet te wijzigen.
### Received INVITE
Received:
INVITE sip:8675309@172.18.110.58:5060 SIP/2.0
From: sipp <sip:sipp@172.18.110.65>;tag=1
To: sut <sip:cube@172.18.110.58:5060>
### Common Configurations
!
voice class uri FROM sip
user-id sipp
!
voice class uri TO sip
user-id cube
!
### OR Match
!
voice class dial-peer provision-policy 1
description match from header. If false, try to header
preference 1 from
preference 2 to
!
dial-peer voice 1234 voip
session protocol sipv2
destination provision-policy 1
incoming called-number .
!
dial-peer voice 11111 voip
destination uri-from FROM
session protocol sipv2
session target ipv4:172.18.110.48
!
dial-peer voice 22222 voip
destination uri-to TO
session protocol sipv2
session target ipv4:172.18.110.48
!
### AND Match
!
voice class dial-peer provision-policy 2
description match from AND to headers
preference 1 from to
!
dial-peer voice 1234 voip
session protocol sipv2
destination provision-policy 2
incoming called-number .
!
dial-peer voice 12345 voip
destination uri-from FROM
destination uri-to TO
session protocol sipv2
session target ipv4:172.18.110.48
!
Bron: Configuratiegids voor Cisco Unified Border Element via Cisco IOS XE 17.5
Sessiedoel SIP-URI
Voorafgaand aan Cisco IOS 15.4(1)T en Cisco IOS XE 3.11S als het hostgedeelte van een URI anders was, maar de gebruiker hetzelfde was, zou dit twee afzonderlijke uitgaande dial-peers vereisen.
Na deze release kan een beheerder één dial-peer configureren om meerdere hosts voor dezelfde gebruiker te onderhouden. Bijvoorbeeld testuser@example.com en testuser@example.net onder dezelfde dial-peer. Het gebruik van sessiedoel sip-uri triggert DNS-resolutie van het domein van inkomende Invite Req-URI en bepaalt dynamisch het IP-adres van het sessiedoel.
Voorbeeldconfiguratie:
De gateway ontvangt twee SIP Invites met deze headers Invite sip: testuser@example.com:5060 SIP/2.0 Invite sip: testuser@example.net:5060 SIP/2.0 De gateway komt overeen met het inkomende SIP-verzoek van testuser@example.com en testuser@example.net op dial-peer 1 vanwege de inkomende URI-opdracht en de gebruiker-id-definitie komen beide overeen met de testgebruiker. De command voice-class sip call-route URL is aanwezig, wat betekent dat je uitgaande dial-peers evalueert op basis van de request URI van deze inkomende Invite. Je komt overeen met dial-peer 2 om dezelfde redenen als je met dial-peer 1, de user-id van testuser, hebt gematcht. Het sessiedoel van deze dial-peer is de originele sip-uri zoals gedefinieerd door sessiedoel sip-uri, wat een FQDN was. Nadat een DNS-resolutie heeft plaatsgevonden en example.com en example.net zijn gewijzigd in een IP voor layer 3-routering, verzendt u een bericht uit de gateway.
!
ip host example.com 192.0.2.10
ip host example.net 192.0.2.10
!
voice class uri TEST-IN sip
user-id testuser
!
dial-peer voice 1 voip
description INCOMING dial-peer
incoming uri request TEST
session protocol sipv2
voice-class sip call-route url
!
dial-peer voice 2 voip
description OUTBOUND dial-peer
destination uri TEST
session protocol sipv2
session target sip-uri
!
Verificatie:
show voice class uri <uri-name> show voice class dial-peer provision-policy <number> debug voip uri
Een beheerder kan dial-peer-jokertekens gebruiken bij het definiëren van inkomende en uitgaande overeenkomende mechanismen die een cijferreeks bevatten. Deze omvatten bestemmingspatroon, inkomend aangeroepen nummer, e164-patroon-kaarten en antwoord-adres, evenals het prefix commando. Dial-peer-jokertekens zijn reguliere expressies (regex) die beschikbaar zijn voor configuratie en die meer flexibiliteit bieden bij het matchen van dial-peers.
jokertekentafel
|
Teken |
Definitie |
Voorbeelden |
|
* |
Op een dial-peer is dit een letterlijke waarde van * (ster) op het toetsenbord. |
12345* |
|
# |
Op een dial-peer is dit een letterlijke waarde van # (pond) op het toetsenbord. |
8675309# |
|
, |
Voegt een pauze van 1 seconde tussen cijfers in. Een komma kan ook tussen haakjes [ ] worden gebruikt om een continu bereik te splitsen. |
9,,,,,55591[1-3,5-9]8675309 |
| . |
Regex-teken voor overeenkomende waarden 0-9, A-F en *, #, + Per dial-peer kunnen maximaal 15 punttekens worden gedefinieerd, hoewel de CLI een beheerder zoveel laat configureren als hij nodig acht. Als er meer dan 15 punten nodig zijn, gebruik dan T. |
2.... 91[2-9]...[2-9]..... |
|
% |
Regex voor voorgaande cijfers die nul of meer keren voorkomen. |
|
|
+ |
Bij gebruik aan het begin van een string betekent dit een letterlijke + gebruikt in E164 getallen. Wanneer ergens anders in de string gebruikt wordt is het een regex waarde voor het voorgaande cijfer dat één of meerdere keren voorkomt. |
+19191112222 |
|
? |
Regex voor het voorgaande cijfer dat nul of één keer voorkomt. |
(206)?5015111 (0)? (1)? (1)?21933... |
|
^ |
Regex-teken om het begin van de tekenreeks aan te geven wanneer deze buiten de haakjes wordt gebruikt Wanneer het binnen haakjes wordt gebruikt, wordt het behandeld als een uitsluitingsverklaring of een DO NO MATCH-verklaring Dit is niet langer vereist in latere versies omdat de gateway automatisch een ^ aanneemt bij het verwerken van een regex-tekenreeks zonder een ^. |
^8675309 91[^135]555 |
|
$ |
Regex teken om het einde van een string aan te geven. |
8675309$ |
| \ |
Ontsnappingsteken als letterlijke waarde |
|
| [ ] |
Tussen haakjes wordt een reeks tekens voor één positie gedefinieerd. Komma's moeten worden gebruikt om continue tekenreeksen te breken. |
[1-5]0000 [2,5-8]0000 |
| ( ) |
Parenthesis definieert een groep tekens in een set. |
9(258) 7777 |
| T |
Een match met variabele lengte van maximaal 32 cijfers. De router wacht op de intercijferige time-out voordat de oproep wordt gerouteerd. De standaardwaarde voor de interdigit time-out is 10 seconden en kan worden gewijzigd via time-outs tussen cijfers op een spraakpoort. T verwijst ook naar de T302 timer. |
9011T |
| - |
Gebruikt tussen haakjes om het bereik te definiëren. |
[5-9]1234 |
Uitvoer vanuit Gateway die de mogelijke reguliere expressieingangen weergeeft.
Gateway(config-dial-peer)# destination-pattern asdfqw4r3~2
Incorrect format for E.164 Number
regular expression must be of the form ^[][^0-9,A-F#*.?+%()-]*T?(\$)?$
Dial-peers kunnen zich in een van de twee operationele toestanden bevinden.
Om een dial-peer in een geldige operationele toestand te laten zijn en in aanmerking te komen voor gebruik met oproeproutering, moet deze in de UP-status zijn. Voor uitgaande VOIP-kiescollega's betekent dit dat er een geldig mechanisme voor uitgaande matching en een geldig sessiedoel kunnen zijn om de oproep naar te routeren. Voor uitgaande POTS-kiezels kunnen een geldig mechanisme voor uitgaande matching en een geldige spraakpoort worden geconfigureerd. Alleen bij inkomende kiezersgroepen moet een geldig mechanisme voor inkomende matching worden geconfigureerd.
De status Busyout wordt gezien wanneer een inbelverbinding is geconfigureerd met een keepalive-mechanisme en het externe doel de parameters van dat keepalive-mechanisme heeft gefaald. De gateway verplaatst de dial-peer vervolgens naar een bezettingstoestand, zodat deze niet langer wordt gebruikt voor beslissingen over oproeproutering, en wanneer het keepalive-mechanisme opnieuw wordt vervuld, plaatst de gateway de dial-peer terug in een opwaartse toestand. Als een dial-peer is geselecteerd als een uitgaande dial-peer, en deze dial-peer is in een busyout staat, de gateway mislukt de oproep met een oorzaak code 188.
Naast de operationele staten zijn er ook de administratieve staten.
Een beheerder kan een dial-peer uitschakelen zonder deze uit de configuratie te verwijderen door de opdracht Uitschakelen op de dial-peer in te voeren. Als u de inbelverbinding opnieuw wilt inschakelen, voert u geen afsluiting in.
Opmerking: Een dial-peer met een spraakpoort die is uitgeschakeld, uitgeschakeld of niet operationeel, blijft in de operationele toestand van Omhoog, maar de Out-toestand wordt weergegeven als Omlaag.
Verificatie
Gateway# show dial-peer voice summary
dial-peer hunt 0
AD PRE PASS OUT
TAG TYPE MIN OPER PREFIX DEST-PATTERN FER THRU SESS-TARGET STAT PORT KEEPALIVE
1 voip up up 0 syst
777 voip up up 9... 0 syst ipv4:10.50.244.2
555 voip up down 555 0 syst
888 pots up up 888 0 up 0/2/0
999 pots up up 999 0 down 0/2/0
123 voip up up 123 0 syst ipv4:10.10.10.10 busyoutVanaf Cisco IOS 15.6(3)M en Cisco IOS-XE 16.3.1 kunnen Cisco-gateways inkomende dial-peers matchen met behulp van VRF-ID's. Om hiervan te profiteren, moet een beheerder de inkomende dial-peer binden aan een interface die op zijn beurt de dial-peer bindt aan de VRF-ID op de opgegeven interface. Nadat de binding is voltooid, worden inkomende oproepen gefilterd door de Cisco Gateway om alleen in aanmerking komende inkomende dial-peers op te nemen die overeenkomen met de VRF-ID van de interface waarop het pakket is ontvangen. Vanaf hier wordt de inkomende dial-peer gekoppeld op basis van de reguliere dial-peer matching volgorde van bewerkingen.
Voorafgaand aan deze Cisco IOS / Cisci IOS-XE releases, zou de Cisco Gateway een inkomende selectie maken op basis van regelmatige inkomende dial-peer matching zonder enige filtering. Dit betekent dat een VRF1-oproep kan worden gematcht door een VRF2-dial-peer. Aangezien slechts één VRF werd ondersteund door H323 en SIP voorafgaand aan deze releases, ontstaan er andere problemen bij het gebruik van multi-VRF-functies. Het gebruik van één VRF voor spraaktoepassingen stond bekend als VRF-Aware-configuratie.
Volledige VRF-Aware Documentation: VRF-Aware H.323 en SIP voor Voice Gateways
Volledige Multi-VRF-documentatie: Cisco Unified Border Element Configuration Guide - Cisco IOS XE 17.6 en verder
Cisco Gateways hebben de mogelijkheid om gesprekken over VRF's te overbruggen zonder dat routelekorten hoeven te worden geconfigureerd. Dit betekent dat een inkomende oproep op VRF1 kan worden gerouteerd naar een uitgaande dial-peer voor VRF2 als de normale uitgaande dial-peer matching selectie is voldaan. Dial-peer-groepen kunnen worden gebruikt om de Cisco-gateway te dwingen de oproep binnen dezelfde VRF te houden.
Dit configuratievoorbeeld heeft VRF1 en VRF2 met twee overlappende IP-bereiken en twee overlappende telefoonnummerbereiken.
Gebruik VRF-binding om ervoor te zorgen dat de juiste inkomende dial-peer is afgestemd en Dial-peer-groepen om ervoor te zorgen dat de juiste VRF-gebonden uitgaande dial-peer is afgestemd. Als een SIP-pakket voor een oproep naar 8675309 arriveert op gig0/0/1.2, filtert de gateway alle beschikbare inkomende dial-peers op basis van de VRF2-ID. Dit betekent dat u niet kunt overeenkomen met dial-peer 10. Als je nu de cijferreeks controleert, kun je kiezen voor dial-peer 20. Dial-peer 20 heeft een dial-peer-groep die de gateway vertelt dat de enige uitgaande dial-peer die kan worden gekoppeld, ook dial-peer 20 is. Met deze groep met bellers kunt u voorkomen dat er een overeenkomende beller 10 wordt gebruikt en dat een oproep van VRF1 naar VRF2 wordt overgezet. Vanaf daar kan het gesprek verder gaan zoals normaal.
! interface GigabitEthernet0/0/1.1 description VRF1 encapsulation dot1Q 10 ip vrf forwarding VRF1 ip address 10.10.10.10 255.255.255.0 ! interface GigabitEthernet0/0/1.2 description VRF2 encapsulation dot1Q 20 ip vrf forwarding VRF2 ip address 10.10.10.10 255.255.255.0 ! voice service voip no ip address trusted authenticate media-address voice-vrf VRF1 media-address voice-vrf VRF2 allow-connections sip to sip sip ! voice class dpg 10 description INBOUND VRF1 to OUTBOUND VRF1 dial-peer 10 preference 1 ! voice class dpg 20 description INBOUND VRF2 to OUTBOUND VRF2 dial-peer 20 preference 1 ! dial-peer voice 10 voip description VRF1 destination-pattern 8675309 session protocol sipv2 session target ipv4:10.10.10.20 destination dpg 10 incoming called-number 8675309 voice-class sip bind control source-interface GigabitEthernet0/0/1.1 voice-class sip bind media source-interface GigabitEthernet0/0/1.1 ! dial-peer voice 20 voip description VRF2 destination-pattern 8675309 session protocol sipv2 session target ipv4:10.10.10.20 destination dpg 20 incoming called-number 8675309 voice-class sip bind control source-interface GigabitEthernet0/0/1.2 voice-class sip bind media source-interface GigabitEthernet0/0/1.2 !
Verificatie
Gateway# show vrf brief | i VRF VRF1 1:1 ipv4 Gi0/0/1.1 VRF2 2:2 ipv4 Gi0/0/1.2
Gateway# show dial-peer voice summary TAG TYPE MIN OPER PREFIX DEST-PATTERN FER THRU SESS-TARGET STAT PORT KEEPALIVE VRF 10 voip up up 8675309 0 syst ipv4:10.10.10.20 VRF1 20 voip up up 8675309 0 syst ipv4:10.10.10.20 VRF2
Gateway# show voice class dpg 10 Voice class dpg: 10 AdminStatus: Up Description: INBOUND to OUTBOUND VRF1 Total dial-peer entries: 1 Peer Tag Pref -------- ---- 10 1 -------------------------------------
Gateway# show voice class dpg 20 Voice class dpg: 20 AdminStatus: Up Description: INBOUND to OUTBOUND VRF2 Total dial-peer entries: 1 Peer Tag Pref -------- ---- 20 1 -------------------------------------
Naarmate de bedrijfsbehoeften groeien, breidt het bedrijf zich uit en heeft het meer DID's nodig en kunnen bedrijfsbeheerders vaststellen dat de basis-dial-peers niet goed aan de schaal voldoen. Er kunnen on-off situaties zijn die moeten worden aangepakt, of misschien zijn er gewoon te veel inbellers in het algemeen. Het hebben van duizenden dial-peers maakt het beheer en het oplossen van problemen niet eenvoudig. Het hebben van een dial-peer voor elke specifieke CUCM-server of oproepagent begint het probleem van te veel dial-peers te verergeren, omdat een beheerder nu een dial-peer moet configureren voor elke cijferreeks. Als er meer dan één SIP-provider is die verbinding maakt met een gateway, of een paar verschillende mensen die dezelfde CUBE gebruiken, maakt dit het isoleren van een specifieke huurder erg moeilijk.
Cisco heeft deze feedback overgenomen en een reeks items gemaakt die deze problemen en meer kunnen aanpakken. Dial-peer Groups, Voice Class tenants, destination server-groups, e164-pattern-maps en POTS trunkgroepen zorgen ervoor dat een beheerder alle genoemde problemen kan oplossen en nog veel meer niet vermeld.
Dial-peer groepen werden toegevoegd in Cisco IOS 15.4(1)T en Cisco IOS-XE 3.11S en POTS dial-peers werden toegevoegd als een optie in Cisco IOS 15.5(1)T en Cisco IOS-XE 3.14S. Met een dial-peer-groep kunnen beheerders een exacte dial-peer opgeven voor uitgaande routering op basis van de inkomende dial-peer die is gekoppeld. Zodra een inkomende dial-peer met een geconfigureerde dial-peer-groep is gekoppeld, gebruikt de oproep de dial-peer die is gedefinieerd in de dial-peer-groep, zelfs als het bestemmingspatroon niet overeenkomt. De enige voorwaarde is dat de uitgaande dial-peer omhoog moet zijn, dus een uitgaande overeenkomende methode moet worden geconfigureerd, maar deze wordt niet daadwerkelijk gebruikt om de oproep te routeren.
De beste manier om dial-peer-groepen te beschrijven, is ze te vergelijken met het concept van statische routes in een routeringstabel. Dit zijn statische inkomende naar uitgaande routeringsbeslissingen die wat giswerk voor de gateway wegnemen omdat ze het precies vertellen hoe het gesprek moet worden gerouteerd.
Volledige documentatie: configuratiehandleiding voor Cisco Unified Border Element - Cisco IOS XE 17.6 en verder
In dit voorbeeld is het opgeroepen nummer 8675309. Dit komt overeen met dial-peer 1234 op basis van de inkomende oproep-nummer verklaring. Deze dial-peer is geconfigureerd met een dial-peer groep die stelt dat de oproep nu kan routeren uit dial-peers 2, dan 3, en ten slotte 1 als dial-peer 2 mislukt. Dit is de gateway, dus probeer nu de call-out dial-peer 2 te routeren, omdat het expliciet via de dial-peer-groep is verteld dat dit is wat het kan doen.
Opmerking: Het bestemmingspatroon op dial-peer 1, 2 en 3 wordt niet het nummer 8675309 genoemd. Dit is prima en het gesprek verloopt nog steeds zonder probleem.
Onthoud dat, zoals besproken in het gedeelte met kiestoetsstaten, u iets / iets geconfigureerd als een uitgaande overeenkomende instructie nodig hebt. In dit geval is het bestemmingspatroon alleen bedoeld om de dial-peer in een operationele status Up te brengen en wordt de cijferreeks van die opdracht nooit geëvalueerd. Het wordt aanbevolen om een patroon zoals bestemmingspatroon AAAA te configureren, omdat dit een geldig bestemmingspatroon is. Aangezien dit technisch een geldige dial-peer is, kunnen andere oproepen hiermee overeenkomen. De AAAA-tekenreeks betekent dus dat u deze nooit voor iets anders dan een specifiek scenario met een dial-peer-groep kunt gebruiken, omdat de kans dat een oproep binnenkomt voor AAAA erg, erg laag is.
!
dial-peer voice 1 voip
description Server 1
destination-pattern ^1234$
session target ipv4:192.0.2.1
!
dial-peer voice 2 voip
description Server 2
destination-pattern ^5678$
session target ipv4:192.0.2.2
!
dial-peer voice 3 voip
description Server 3
destination-pattern AAAA
session target ipv4:192.0.2.3
!
voice class dpg 1
description Dial-peer Group for specific called number 8675309
dial-peer 2 preference 1
dial-peer 3 preference 2
dial-peer 1 preference 3
!
dial-peer voice 1234 voip
description INCOMING dial-peer with DPG
incoming called-number ^8675309$
destination dpg 1
!Verificatie
Gateway# show voice class dpg 1 Voice class dpg: 1 AdminStatus: Up Description: Dial-peer Group for specific called number 1234 Total dial-peer entries: 3 Peer Tag Pref -------- ---- 2 1 3 2 1 3 -------------------------------------
Deze functie geeft beheerders de mogelijkheid om het aantal totale dial-peers te verminderen door veel mogelijke getallenovereenkomsten (bestemmingspatronen, inkomend opgeroepen nummer, enzovoort) te combineren in een enkele patroonkaart. Outbound dial-peer e164-pattern-map ondersteuning werd toegevoegd in Cisco IOS 15.2(4)M en Cisco IOS-XE 3.7S, terwijl inbound dial-peer e164-pattern-map ondersteuning werd toegevoegd in Cisco IOS 15.4(1)T en Cisco IOS-XE 3.11S.
Een e164-pattern-map kan worden geconfigureerd via de CLI of vooraf geconfigureerd en opgeslagen als een .cfg-bestand. Het .cfg-bestand wordt vervolgens toegevoegd aan de flits van de gateway en vervolgens verwezen bij het configureren van de rest van de opdracht. Het .cfg-bestand kan 5000 vermeldingen gebruiken.
De items in beide configuratiemethoden kunnen alle normale dial-peer-jokertekens gebruiken voor verdere aggregatie!
Opmerking: Wanneer zowel inkomende als uitgaande kiezerpeers zijn geconfigureerd met aanroepende e164-patroonafbeelding, is het essentieel om een beleid voor het aanbieden van kiezersfuncties toe te passen op de inkomende kiezersgroep om mislukte oproepen te voorkomen.
Volledige documentatie: configuratiehandleiding voor Cisco Unified Border Element - Cisco IOS XE 17.6 en verder
! voice class e164-pattern-map 1 description E164 Pattern Map for calling numbers e164 919574100. e164 919574300. e164 8675309 ! dial-peer voice 1 voip description INBOUND Dial-peer based on CALLING # incoming calling e164-pattern-map 1 !
dial-peer voice 11 voip
description OUTBOUND Dial-peer based on CALLING #
destination calling e164-pattern-map 1
!
! voice class e164-pattern-map 2 description E164 Pattern Map for called 800 numbers e164 91800T e164 91855T e164 91888T ! dial-peer voice 2 voip description INBOUND Dial-peer based on CALLED # incoming called e164-pattern-map 2 ! dial-peer voice 22 voip description OUTBOUND Dial-peer based on CALLED # destination e164-pattern-map 2 !
! voice class e164-pattern-map <tag> description FILEPATH for E164 Pattern Map url flash:<filepath>/e164-pattern-list.cfg ! dial-peer voice ### voip description E164 Pattern Map Dial-peer incoming calling e164-pattern-map <tag> !
voice class e164-pattern-map load
Verificatie
Gateway# show voice class e164-pattern-map 1 e164-pattern-map 1 ----------------------------------------- Description: CUCM phones It has 3 entries It is not populated from a file. Map is valid. E164 pattern ------------------- 8675309 1... [2-5]...$
Opmerkelijke gebreken
Cisco bug ID CSCva64393
E164-pattern-map parseert de laatste regel van het configuratiebestand niet.
Servergroepen bieden beheerders de mogelijkheid om meerdere bestemmingen (sessiedoelen) te configureren op dezelfde VOIP-dial-peer. Standaard is de sorteervolgorde de voorkeur die is gedefinieerd in de servergroepvermeldingen. Round-robin jagen kan worden gebruikt wanneer u het commando jacht-schema round-robin gebruikt. Servergroepen zijn toegevoegd in Cisco IOS 15.4(1)T en Cisco IOS XE 3.11S. In Cisco IOS XE 17.4.1a werden configureerbare huntstop-foutcodes toegevoegd aan de servergroepconfiguraties van spraakklasse. Dat wil zeggen, u kunt een enkele foutcode configureren, bijvoorbeeld 404 Niet gevonden, en SIP-fout zou normaal gesproken het apparaat activeren om de volgende optie in de servergroep te proberen. Met de config huntstop 1 resp-code 404 op zijn plaats binnen de server-groep; jagen kan stoppen. Deze kunnen ook worden geconfigureerd voor een bereik zoals: huntstop 1 resp-code 401 tot 599.
Opmerking: het maximum aantal vermeldingen is 5 per servergroep.
Volledige documentatie: configuratiehandleiding voor Cisco Unified Border Element - Cisco IOS XE 17.6 en verder
! voice class server-group 1 hunt-scheme round-robin ipv4 10.50.244.2 port 5060 preference 1 ipv4 10.50.244.62
ipv6 2010:AB8:0:2::1 port 2323 preference 3
ipv6 2010:AB8:0:2::2 port 2222 ! dial-peer voice 1 voip session protocol sipv2
destination-pattern 8675309 session server-group 1 !
Verificatie
Gateway# show voice class server-group 1 Voice class server-group: 1 AdminStatus: Up OperStatus: Up
Hunt-Scheme: round-robin Last returned server:
Description:
Total server entries: 4
Pref Type IP Address IP Port
---- ---- ---------- -------
1 ipv4 10.50.244.2 5060
0 ipv4 10.50.244.62
3 ipv6 2010:AB8:0:2::1 2323
0 ipv6 2010:AB8:0:2::2 2222
[..truncated..]
Houd er rekening mee dat servergroepen niet de normale mechanismen voor het buiten het dialoogvenster houden van OPTIES volgen. Ze maken gebruik van een functie die een option-keepalive-profiel wordt genoemd. Hierdoor kan de gateway elke oproepagent controleren die in de specifieke servergroep is gedefinieerd.
Option-keepalive Voorbeeld met servergroep
! voice class server-group 1 hunt-scheme round-robin ipv4 10.50.244.2 ipv4 10.50.244.62 ! dial-peer voice 1 voip session protocol sipv2 session server-group 1 voice-class sip options-keepalive profile 1 !
Verificatie
Gateway# show voice class sip-options-keepalive 1 Voice class sip-options-keepalive: 1 AdminStat: Up Description: Transport: system Sip Profiles: 0 Interval(seconds) Up: 5 Down: 5 Retry: 5 Peer Tag Server Group OOD SessID OOD Stat IfIndex -------- ------------ ---------- -------- ------- 1 1 Active 87 Server Group: 1 OOD Stat: Active OOD SessID OOD Stat ---------- -------- 1 Active 2 Active OOD SessID: 1 OOD Stat: Active Target: ipv4:10.50.244.2 Transport: system Sip Profiles: 0 OOD SessID: 2 OOD Stat: Active Target: ipv4:10.50.244.62 Transport: system Sip Profiles: 0
De SIP Outbound Proxy-configuratie kan worden toegevoegd aan voip-, voice class tenant- of dial-peer-configuraties voor spraakservice om de bestemming voor een Layer 3 SIP-pakket op te geven.
Dat wil zeggen, het sessiedoel op een dial-peer kan worden gebruikt om het SIP-pakket te maken, maar de uitgaande proxy kan zijn waar het pakket wordt verzonden op Layer 3.
!
voice service voip
sip
outbound-proxy dns:la01.sipconnect-us10.cisco-bcld.com
!
voice class tenant 100
outbound-proxy dns:la01.sipconnect-us10.cisco-bcld.com
!
dial-peer voice 100 voip
session target ipv4:192.168.1.1
voice-class sip outbound-proxy dns:la01.sipconnect-us10.cisco-bcld.com
!
Opgemerkt kan worden dat de standaardconfiguratie voor een dial-peer is voice-class sip outbound-proxy systeem dat kan leiden tot een dial-peer te gebruiken global voice service voip > sip configuratie.
Dit gedrag kan worden uitgeschakeld en een dial-peer dwingen om terug te vallen en het sessiedoel te gebruiken als de laag 3-bestemming per dial-peer met deze configuratie:
dial-peer voice 777 voip
no voice-class sip outbound-proxy
Trunkgroepen zijn een verzameling fysieke spraakpoorten met vergelijkbare signaleringsmogelijkheden. Dit is een functie die kan worden gebruikt om het totale aantal POTS-inbelpeers dat moet worden geconfigureerd te verminderen. Trunkgroepen werden geïntroduceerd in Cisco IOS in 12.1(3)T en zijn aanwezig in alle versies van Cisco IOS XE.
Volledige documentatie: Gateway Trunk en Carrier Based Routing-verbeteringen
! trunk group PSTN description PSTN voice-ports !
trunk group FXO
description FXO voice-ports
! voice-port 0/2/0 trunk-group PSTN 1 ! voice-port 0/2/1 trunk-group PSTN 2 !
voice-port 0/2/2
trunk-group FXO 1
!
voice-port 0/2/3
trunk-group FXO 2
! dial-peer voice 1234 pots trunkgroup PSTN 1 trunkgroup FXO 2 !
Cisco IOS 15.6(2)T en Cisco IOS XE 16.3.1 introduceerden voice class-tenants waarmee elke tenant zijn eigen individuele configuraties kan hebben. Een tenant kan een telefonieprovider, Cisco Unified Communication Manager (CUCM) of een andere 3rd Party Call Agent zijn waarvoor een beheerder specifieke globale instellingen wil hebben. Eerst maakt een beheerder een voice class tenant en definieert de parameters. De voice class tenant wordt vervolgens toegepast op de specifieke dial-peer of keuze. Deze nieuwe configuratie geeft beheerders een ander niveau van controle over oproepen dan dial-peers en globale configuratie.
Met 17.8.1a kunnen Voice Class Tenant-configuraties worden geconfigureerd met een sip-listen-opdracht (gekoppeld aan de juiste SIP-controlebinding) om de niet-beveiligde of beveiligde poort van die tenant te definiëren. Dit betekent dat tenant 1 kan luisteren naar onveilige SIP op UDP 5060 + VRF Red terwijl tenant 2 luistert naar SIP op TCP TLS 5070 + VRF Blue. Na het matchen van de tenant op basis van listen-port + bind + optionele vrf worden inkomende dial-peers gefilterd naar degene die de tenant hebben toegepast.
Volledige documentatie: configuratiehandleiding voor Cisco Unified Border Element - Cisco IOS XE 17.6 en verder
Normale volgorde van commandovoorkeur zonder huurders
Je hebt twee huurders 777 en 999. Je hebt ze geconfigureerd met iets andere configuraties en toegepast op de dial-peers. Dit betekent dat oproepen met de verschillende dial-peers zowel de op dial-peer gebaseerde configuraties als de tenant-specifieke configuraties hebben. De vermelde opties zijn slechts een fragment van de kracht van huurders van spraakklassen. Raadpleeg de documentatie om te zien wat er op een tenant kan worden geconfigureerd. Het wordt aanbevolen om strikte matching-mechanismen zoals voice class uri of tagging-nummers met bepaalde cijferreeksen te gebruiken om tenant dial-peer-matching te scheiden, of zelfs VRF's zo te configureren dat Tenant A nooit overlapt met Tenant B en per ongeluk overeenkomt met een dial-peer die ze niet kunnen.
!
voice class tenant 999 asymmetric payload full bind control source-interface GigabitEthernet0/0/0.228 bind media source-interface GigabitEthernet0/0/0.228 g729 annexb-all ! voice class tenant 777 sip-server ipv4:192.168.1.2 bind control source-interface Loopback0 bind media source-interface Loopback0 pass-thru content sdp ! dial-peer voice 999 voip destination-pattern 8675309 session protocol sipv2 incoming called-number 8675309 voice-class sip tenant 999 ! dial-peer voice 777 voip destination-pattern 8675309 session protocol sipv2 session target sip-server voice-class sip tenant 777 !
Verificatie
Momenteel zijn er geen individuele opdrachten om de configuraties van de tenant van de spraakklasse te bekijken. Deze opdracht kan voldoende zijn voor het filteren van de actieve configuratie naar alleen de informatie van de tenant.
show run | sec tenant
Opmerking: Cisco bug ID CSCvf28730 is waar de status van het sip-ua register niet de status van de SIP trunk registratie op een voice class tenant weerspiegelt.
Route Strings worden gebruikt met CUCM Intercluster Lookup Service (ILS) en kunnen worden geconfigureerd om Cisco Gateways in staat te stellen VoIP-oproepen te routeren via de route-string die is opgenomen in de SIP Invite die is ontvangen van een CUCM 9.5+ die de ILS-service uitvoert. Deze functie is toegevoegd in Cisco IOS 15.3(3)M en Cisco IOS XE 3.10S. De meeste ILS-verbindingen zijn CUCM naar CUCM en beheerders doen geen moeite met het inschakelen van een CUBE voor interclustertrunking. Echter, als je nodig hebt om de functie uit te voeren met CUBE in het midden, de opties zijn er. CUCM moet de instelling Send ILS Learned Destination Route String ingeschakeld hebben op het SIP-profiel toegepast op de SIP Trunk om de x-cisco-dest-route-string header naar CUBE te sturen
Volledige documentatie: Enterprise Application Interoperability for H.323-to-SIP and SIP-to-SIP Configuration Guide, Cisco IOS Release 15M&T
!
voice service voip sip call-route dest-route-string ! voice class route-string rt1 pattern london.uk.eu ! voice class sip route-string rt2 pattern *.eu ! voice class sip-hdr-passthrulist hdr1 passthru-hdr x-cisco-dest-route-string ! dial-peer voice 1 voip description INBOUND dial-peer session protocol sipv2 voice-class sip pass-thru headers hdr1
incoming called-number .
! dial-peer voice 2 voip description OUTBOUND dial-peer destination route-string rt2 session protocol sipv2 session target ipv4:172.16.104.178 !
Verificatie
show voice class route-string
De items die in deze sectie worden behandeld, worden beschouwd als legacy-technieken. Hoewel de mogelijkheid om deze te configureren nog steeds aanwezig is in een Cisco Gateway, wordt het niet aanbevolen om deze opdrachten in moderne configuraties te gebruiken. In dit document worden deze alleen behandeld omdat ze kunnen worden aangetroffen tijdens het werken met oudere configuraties of bij het uitvoeren van upgrades.
DNIS-kaarten kunnen worden beschouwd als de voorloper van wat nu een E164-patroonkaart zou zijn. DNIS-kaarten werden toegevoegd aan Cisco IOS in 12.2(2)XB en hebben altijd bestaan in Cisco IOS XE.
Als er DNIS-kaarten zijn geconfigureerd, is het de moeite waard om ze te converteren naar de robuustere e164-patroonkaartfunctie.
Opdrachtsyntaxis: Cisco IOS Voice Command Reference - D tot en met I
! voice dnis-map 34 dnis 8675309 ! dial-peer voice 88 voip dnis-map 34 !
Trunk Group Labels zijn toegevoegd in Cisco IOS 12.2(11)T en bestaan in alle Cisco IOS XE-versies. Het doel van een trunk-group-label is vergelijkbaar met een Carrier-ID in de zin dat het kan worden gebruikt om de matching van dial-peers te vergroten. Dit is beschikbaar voor configuratie binnen POTS trunkgroepen, VOIP en POTS dial-peers, evenals spraakbrongroepen. Het gebruik van Trunk Group Labels komt zelden voor in moderne Cisco Gateway-configuraties.
Opdrachtsyntaxis: Cisco IOS Voice Command Reference - T tot en met Z
! dial-peer voice 112 pots trunk-group-label source north3 trunk-group-label target east17 !
Met ISDN Q.931-integraties bestaat de mogelijkheid om een dial-peer te matchen op basis van het oproepende of opgeroepen nummer en het specifieke ITU-nummertype van de Q.931 SETUP-berichten. Dit kan worden geconfigureerd via de opdracht nummering op een VOIP- of POTS-kiezer. Nummering-type kan niet alleen worden gebruikt en moet worden gebruikt in combinatie met bestemmingspatroon, antwoord-adres of inkomend aangeroepen-nummer. Dit betekent dat zowel de conditie van de inbound / outbound matching statement als het nummertype moet overeenkomen om een succes te zijn voor de dial-peer om in aanmerking te komen voor inbound en outbound call routing.
Nummering-match kan worden gezien als een dial-peer filtermechanisme in plaats van een matching mechanisme. Dit komt omdat een dial-peer met en zonder een nummeringstype opdracht toegepast worden beschouwd als hetzelfde standaard voorkeursgewicht als er geen beheerder voorkeur wordt toegepast. Dit is in tegenstelling tot carrier-id die, wanneer toegepast op een dial-peer naast andere matching mechanisme, voegt de voorkeur aan die dial-peer boven anderen als beide voorwaarden waar zijn.
Nummering Type matching werd toegevoegd in Cisco IOS 12.0(7)XR1 en is aanwezig in alle Cisco IOS XE releases. Met de afname van traditionele POTS ISDN-lijnen die worden ingezet in samenwerkingsnetwerken, wordt het gebruik van nummering zelden gezien in moderne implementaties.
Opdrachtsyntaxis: Cisco IOS Voice Command Reference - K tot en met R
Deze dial-peer kan alleen overeenkomen met 4085150000 tot en met 4085159999 als het ISDN-nummertype Nationaal is.
! dial-peer voice 408 voip numbering-type national destination-pattern 408515.... session target ipv4:10.1.1.2 !
Mogelijke nummertypen:
|
ingekort |
Afgekorte weergave van het volledige nummer zoals ondersteund door dit netwerk |
|
internationaal |
Aantal dat wordt gebeld om een abonnee in een ander land te bereiken |
|
nationaal |
Aantal dat wordt gebeld om een abonnee in hetzelfde land te bereiken, maar buiten het lokale netwerk |
|
netwerk |
Administratief of servicenummer specifiek voor het servernetwerk |
|
Gereserveerd |
Gereserveerd voor uitbreiding |
|
abonnee |
Aantal dat wordt opgeroepen om een abonnee in hetzelfde lokale netwerk te bereiken |
|
onbekend |
Het type nummer is niet bekend bij het netwerk |
Data Dial-peers werden geïntroduceerd in Cisco IOS 12.2(13)T en het gebruik van dergelijke dial-peers was voor inkomende modemgesprekken op een Cisco Gateway. Deze dial-peer is alleen voor gebruik in de inkomende richting en zelden te zien in moderne implementaties.
Opdrachtsyntaxis: Cisco IOS Voice Command Reference - D tot en met I
! dial-peer data 100 pots incoming called-number 100 !
Deze functie is toegevoegd in 15.1(2)T, maar is niet geïmplementeerd in veel moderne implementaties. Andere beveiligingsmethoden voor Cisco IOS/CUBE worden meestal geïmplementeerd.
Het overzicht van de CUBE-toepassingsbeveiliging is te zien in deze whitepaper, te beginnen bij rubriek 4.2.
Cisco Unified Border Element (CUBE) Management and Manageability Specification
opdrachtsyntaxis: spraakbrongroepfunctie
Met deze configuratie kan een beheerder een dial-peer beperken om alleen inkomende verbindingen toe te staan (term / beëindigen) of uitgaande verbindingen (orig / originate). Dit zou hetzelfde zijn als het expliciet configureren van een inkomende dial-peer om alleen te worden gebruikt voor inkomende oproepen en een uitgaande dial-peer voor uitgaande oproepen. De standaard voor elke dial-peer is om zowel inkomende als uitgaande verbindingen toe te staan. Deze CLI wordt niet vaak gebruikt in moderne implementaties.
Router(config)# dial-peer voice 1 voip
Router(config-dial-peer)# permission ?
both allow both orig/term on this dialpeer
none no orig/term allowed on this dialpeer
orig allow only orig on this dialpeer
term allow only term on this dialpeer
Op een bepaald moment in een samenwerking implementatie kan een beheerder nodig hebben om cijfers of een URI / SIP Header te manipuleren. Cisco Gateways hebben tal van methoden voor cijfermanipulatie waarmee een beheerder volledige controle heeft over hoe en wanneer een cijfer kan worden gemanipuleerd. Dit is echter niet altijd gemakkelijk en sommige mensen raken overweldigd door de verschillende opties of de beheerder weet niet dat er een optie bestaat.
POTS dial-peers hebben een paar unieke cijfermanipulatietechnieken die uniek zijn voor hen en die VOIP dial-peers niet hebben.
De eerste is het strippen van expliciet gedefinieerde links-gerechtvaardigde cijfers in een bestemmingspatroon. Dit kan worden uitgeschakeld door de opdracht geen digit-strip op de POTS-dial-peer te gebruiken.
Voorbeeld:
In dit voorbeeld wordt 9011T gedefinieerd als de tekenreeks voor het bestemmingspatroon.
Als dit is gebeurd, kunt u een oproep ontvangen voor 90113227045555. Dit komt overeen met de dial-peer voor uitgaande gespreksroutering en de expliciet gedefinieerde cijfers van 9011 worden verwijderd voordat de oproep wordt gerouteerd naar de spraakpoort.
! dial-peer voice 1 pots destination-pattern 9011T port 0/0/0:23 !
In dit voorbeeld wordt een configuratie zonder digit-strip weergegeven.
Als hetzelfde nummer wordt gebeld, wordt de 9011 verzonden.
! dial-peer voice 1 pots destination-pattern 9011T port 0/0/0:23
no digit-strip !
De tweede is de mogelijkheid om op te geven hoeveel cijfers u wilt doorsturen op de POTS-dial-peer.
Neem dit voorbeeld waar u een oproep ontvangt voor 918005532447 van CUCM. In deze situatie wilt u de 9 verwijderen, maar de rest van het nummer verzenden, te beginnen met de 1.
Als u de opdracht forward-digits configureert op de POTS-kiezer, kunt u precies opgeven hoeveel cijfers u verzendt.
! dial-peer voice 1 pots destination-pattern 918005532447 forward-digits 11 port 0/2/0 !
Ten slotte kunnen POTS-dial-peers gebruik maken van de prefix-opdracht om cijfers toe te voegen aan een oproep voordat de spraakpoort wordt gerouteerd. In dit voorbeeld worden de expliciet gedefinieerde 91 en prefix 007 van het nummer verwijderd voordat de oproep de spraakpoort wordt verzonden.
! dial-peer voice 1 pots destination-pattern 91T prefix 007 port 0/1/0:15 !
Spraakvertaalregels zijn reguliere expressies (regex) die worden gebruikt om cijfers te transformeren. Vertaalregels en -profielen zijn toegevoegd aan Cisco IOS in 12.0(7)XR1. Een vertaalregel wordt toegepast op spraakvertaalprofielen die vervolgens worden toegepast op een dial-peer- of spraakpoort. Vertaalregels bevatten een overeenkomende invoer en een gewijzigde uitvoer. Samen met de overeenkomende invoer op het nummer is er een overeenkomende invoer en wijzig de invoer voor het ISDN-plan en -type. De combinatie van de tekenreeks, het plan en het type van het matchnummer wordt beschouwd als een match. Dit betekent dat alle gedefinieerde matchingangen waar moeten zijn voordat de vertaling kan plaatsvinden.
Vertaalregels hebben de mogelijkheid om het gebelde, oproepende, omgeleide, omleidingsdoel- en callbacknummer te wijzigen in ISDN-, SIP- en H323-signaleringsprotocollen. Vertaalregels komen overeen op basis van een top-down zoekopdracht, dus de volgorde van de regels is van het grootste belang. Als een overeenkomst wordt gevonden in een hogere regel, stopt de gateway onmiddellijk met zoeken en verwerkt de vertaling. Vertaalregels kunnen geen niet-numerieke SIP-headers zoals testuser@10.10.10.10 wijzigen. Gebruik voor deze manipulatie een SIP-profiel.
Overgangsregels kunnen worden gebruikt om oproepen op Cisco Gateways te blokkeren.
Voorkeur voor selectie van vertaalprofielen
Naast dial-peer regex en wilcards hebben vertaalregels hun eigen regex-tekens.
|
Teken |
Definitie |
| * |
Bij gebruik in vertaalregels is dit regex voor 0 of meer van het vorige teken. Gebruik een escape-teken als u wilt overeenkomen met een letterlijke *: \* |
|
\ |
Vaak gebruikt om sets te ontsnappen in de vertaalregel \( \) |
|
& |
Ampersand wordt gebruikt om alles over te brengen dat overeenkomt in de initiële wedstrijdset voor de wijzigingsset |
|
( ) |
Artikelen tussen haakjes worden beschouwd als een set. |
| ^ |
Definieert het expliciete begin van een string. In tegenstelling tot dial-peers definiëren de translatieregels niet het begin van de string. Dit betekent dat het definiëren van een string zonder een ^ mogelijk kan overeenkomen met alles in de invoerstring, wat kan leiden tot ongewenste vertalingen in het midden van een getal. |
wijzigingssets
Voorbeeld van vertaalregel met twee sets
In dit voorbeeld kunt u het nummer 000111000222 onderzoeken.
U wilt de 0's uit het nummer verwijderen en een definitief nummer van 111222 realiseren.
Om dit te doen, configureer je set 1 en 2 om respectievelijk de 111 en 222 te pakken terwijl je de 0s laat vallen.
! voice translation-rule 333 rule 1 /000\(111\)000\(222\)/ /\1\2/ ! voice translation-profile SET-EXAMPLE translate called 333 ! Gateway# test voice translation-rule 333 000111000222 Matched with rule 1 Original number: 000111000222 Translated number: 111222 Original number type: none Translated number type: none Original number plan: none Translated number plan: none
Voorbeeld om het 9-out-dial patroon van een aangeroepen nummer te verwijderen
! voice translation-rule 9 rule 1 /^9\(.*\)/ /\1/ ! voice translation-profile STRIP-9 translate called 9 ! dial-peer voice 9 voip translation-profile outgoing STRIP-9 ! voice-port 0/0/0 translation-profile outgoing STRIP-9 ! Gateway# test voice translation-rule 9 918675309 Matched with rule 1 Original number: 918675309 Translated number: 18675309 Original number type: none Translated number type: none Original number plan: none Translated number plan: none
Afkappen van het opgeroepen nummer tot 4 cijfers
! voice translation-rule 4 rule 1 /.*\(....\)/ /\1/ ! voice translation-profile STRIP-TO-4 translate called 4 ! Gateway# test voice translation-rule 4 8675309 Matched with rule 1 Original number: 8675309 Translated number: 5309 Original number type: none Translated number type: none Original number plan: none Translated number plan: none
Stripping Plus + Van het opgeroepen nummer
! voice translation-rule 999 rule 1 /\+\(.*\)/ /\1/ ! voice translation-profile STRIP-PLUS translate called 999 ! Gateway# test voice translation-rule 999 +8675309 Matched with rule 1 Original number: +8675309 Translated number: 8675309 Original number type: none Translated number type: none Original number plan: none Translated number plan: none
Vertaalregels kunnen ook rechtstreeks op een inbelverbinding worden toegepast zonder dat deze eerst op een vertaalprofiel wordt toegepast.
! voice translation-rule 1 rule 1 /1234/ /8678309/ ! voice translation-rule 2 rule 2 /^4...$/ /1408515\0/ ! dial-peer voice 1 voip translate-outgoing called 1 ! dial-peer voice 2 voip translate-outgoing calling 2 !
Vertaalprofiel op Trunk Group
! trunk group <name> translation-profile incoming <profile-name> translation-profile outgoing <profile-name> !
Debug Spraakvertaling Regels en profielen
debug voip ccapi inout debug voice translation debug dialpeer test voice translation-rule <number> <string> type <type> plan <plan>
De spraakklasse e164-translatiefunctie is een nieuwere Cisco IOS XE-functie waarmee een beheerder een lijst met overeenkomende instructies kan maken en instructies kan wijzigen die moeten worden geladen via een configuratiebestand in de flash- of netwerkdirectory. Dit is vergelijkbaar met het concept voor de e164-patroonkaartfunctie die in dit document wordt besproken. Hierdoor kan een beheerder maximaal 100 vertalingen in een configuratiebestand configureren en deze toepassen in één vertaalprofiel. Raadpleeg voor meer informatie de Cisco IOS Voice Command Reference
Volg deze syntaxis voor het .cfg-bestand:
pattern1_to_be_matched<tab>replaced_pattern<space><enter> pattern1_to_be_matched<tab>replaced_pattern<space><enter>
Opmerking: De achterliggende ruimte is erg belangrijk en het importeren kan mislukken zonder die extra opmaakstap.
Steekproef.cfg
+111111 8897 +222222 8312 928747 +123456789 737362 +987654321
Dit bestand verwijst dan als zodanig naar:
voice class e164-translation 164 url ftp://username:password@10.10.10.10/sample.cfg
Nu pas je normaal een vertaalprofiel toe en vervolgens pas je het toe op de dial-peers met de normale syntaxis van het vertaalprofiel.
voice translation-profile e164 translate calling voice-class e164-translation 164 translate called voice-class e164-translation 164
Met de opdracht spraakklasse e164-translatie e164-translatienummer kunt u de inhoud van het vertaalprofiel bekijken.
ISDN-kaarten zijn een oudere techniek voor het wijzigen van cijfers. Dit is toegevoegd in Cisco IOS 12.0(6)T en de meeste nieuwe configuraties maken geen gebruik van deze functie omdat ze niet zo robuust zijn als spraakvertaalregels en -profielen. ISDN-kaarten worden gedefinieerd onder de seriële interface.
Serial0/0/0:23 isdn map address ^911 plan isdn type unknown isdn map address ^1.......... plan isdn type national isdn map address ^2......... plan isdn type national isdn map address ^3......... plan isdn type national isdn map address ^4......... plan isdn type national isdn map address ^5......... plan isdn type national isdn map address ^6......... plan isdn type national isdn map address ^7......... plan isdn type national isdn map address ^8......... plan isdn type national isdn map address ^9......... plan isdn type national
Net als ISDN Maps is Number Expansion een oudere techniek die is toegevoegd in Cisco IOS 11.3(1)T en niet veel wordt gebruikt in nieuwe netwerken. Deze functie werd toegevoegd voordat er stemvertaalregels en profielen bestonden. Nummeruitbreiding is een globale verandering van cijfers toegepast op alle dial-peers op een Cisco Gateway. De wijziging wordt toegepast op het opgeroepen nummer nadat de dial-peer is gekoppeld en vlak voordat de oproep naar de volgende call-agent wordt verzonden.
num-exp 4... 18005554...
num-exp 1234 8675309
SIP-profielen zijn robuuste Regular Expression (regex) Match-instructies waarmee een beheerder elk aspect van een SIP-bericht kan wijzigen dat SDP- en SIP-headers bevat. Deze kunnen wereldwijd worden ingeschakeld, per dial-peer of per tenant. SIP-profielen zijn beschikbaar voor inkomende wijzigingen, te beginnen met Cisco IOS 15.4(2)T en Cisco IOS XE 3.12S. Omdat SIP-profielen zo robuust zijn, behandelt dit document slechts een paar specifieke voorbeelden. SIP-profielen bieden ook de mogelijkheid om aangepaste SIP-headers aan te passen of toe te voegen in Cisco IOS 15.5(2)T en Cisco IOS-XE 3.13S.
Belangrijkste punten over inkomende versus uitgaande SIP-profielen
Andere opmerkingen over sip-profielconfiguratie:
Bovendien kunnen SIP-profielen geen waarden aan SDP verwijderen of toevoegen. Alleen u kunt deze waarden wijzigen. Het is echter mogelijk om een SDP-waarde in een null-waarde te wijzigen door de volledige waarde op te geven en vervolgens de uitvoer in te stellen op een set lege aanhalingstekens zonder spatie.Volledige documentatie: configuratiehandleiding voor Cisco Unified Border Element - Cisco IOS XE 17.6 en verder
SIP Profile Testing Tool on CSA: SPT Tool
Voorbeeldsyntaxis van inkomende/uitgaande SIP-profiel
! voice class sip-profiles <number> request <message-type> sip-header <header> modify "match-pattern" "replace-pattern" request <message-type> sip-header <header> add "add-pattern" request <message-type> sip-header <header> remove
request <message-type> sdp-header <header> modify "match-pattern" "replace-pattern" request <message-type> sdp-header <header> add "add-pattern" request <message-type> sdp-header <header> remove
response <number> sip-header <header> modify "match-pattern" "replace-pattern" response <number> sip-header <header> add "add-pattern" response <number> sip-header <header> remove
response <number> sdp-header <header> modify "match-pattern" "replace-pattern" response <number> sdp-header <header> add "add-pattern" response <number> sdp-header <header> remove !
Voorbeeld van een inbound/outbound SIP-profiel met cijfers
voice class sip-profiles 200
rule 1 response ANY sip-header Remote-Party-ID modify "match-pattern" "replace-pattern" rule 2 response ANY sdp-header Audio-Attribute modify "match-pattern" "replace-pattern"
Toepassingsmethoden voor uitgaande SIP-profielen
! Global Application voice service voip sip sip-profiles <number> !
! Tenant Application
voice class tenant <tag>
sip-profiles <tag>
!
! Dial-peer Application
dial-peer voice <tag> voip
voice-class sip profiles <number>
!
Toepassingsmethoden voor inkomende SIP-profielen
Opmerking: het is vereist om het sip-profiel inbound in te schakelen onder voip-sip voor spraakservice, ongeacht of de globale toepassing, tenant of dial-peer-toepassing wordt gebruikt.
! Global Application voice service voip sip sip-profiles inbound sip-profiles <number> inbound !
! Tenant Application
voice service voip
sip
sip-profiles inbound
! voice class tenant <tag>
sip-profiles <tag> inbound
!
! Dial-Peer Application
voice service voip
sip
sip-profiles inbound
! dial-peer voice <tag> voip voice-class sip profiles <number> inbound !
Voorbeeld SIP-profiel voor het wijzigen van OPTIONS keepalive-berichten.
!
voice class sip-options-keepalive 200
transport tcp tls
sip-profiles 299
!
Voorbeeld SIP-profiel om host, domein of beide delen van een URI aan te passen.
! Host ! voice class sip-profiles 1 request ANY sip-header Contact modify "sip:(.*)@" "sip:8675309@" ! ! Domain ! voice class sip-profiles 2 request ANY sip-header Contact modify "10.67.138.241:5060" "cisco.com" ! ! Note: Port is optional ! ! Modify Both User and Host ! voice class sip-profiles 3 request ANY sip-header Contact modify "sip:(.*)>" "sip:8675309@cisco.com>" !
Voorbeeld SIP-profiel voor het toevoegen, wijzigen of verwijderen van afleidingskoppen.
! Add ! voice class sip-profiles 777 request INVITE sip-header Diversion add "Diversion: <sip:1234@cisco.com>" ! ! ! Modify ! voice class sip-profiles 888 request INVITE sip-header Diversion modify "sip:(.*)>" "sip:1234@cisco.com>" ! ! ! Remove ! voice class sip-profiles 999 request INVITE sip-header Diversion remove !
Voorbeeld SIP-profiel voor het wijzigen van de naam van de beller-ID-gedeelte van SIP-headers.
! voice class sip-profiles 123 request INVITE sip-header From modify "\".*\"" "\"TEST CLID*\"" !
Voorbeeld SIP-profiel om een 183-sessie in uitvoering te wijzigen in een 180-ring.
! voice class sip-profiles 789 response 183 sip-header SIP-StatusLine modify "SIP/2.0 183 Session in Progress" "SIP/2.0 180 Ringing" !
Voorbeeld SIP-profiel voor eenrichtings- of eenrichtingsaudio-interoperabiliteit met een provider.
!
voice class sip-profiles 200 request ANY sdp-header Audio-Attribute modify "a=inactive" "a=sendrecv" request ANY sdp-header Audio-Connection-Info modify "0.0.0.0" "10.10.10.10"
!
! where 10.10.10.10 is CUBE's provider facing IP address
Voorbeeld SIP-profiel om de UPDATEmethode te verwijderen voor interoperabiliteitsproblemen.
!
voice class sip-profiles 200
request ANY sip-header Allow-Header modify ", UPDATE" ""
!
Voorbeeld SIP-profiel met SET-gebruik binnen SIP-profiel. Dit is hetzelfde concept van Sets dat wordt beschreven in de sectie met stemvertaalregels.
!
voice class sip-profiles 1 request ANY sip-header Contact modify "sip:(.*)@" "sip:\1@"
!
Configuratie IF-logica en nieuwe regel breken met een SIP-profiel.
Newline breaks worden ondersteund in SIP-profielen, maar er is slechts één zeer specifieke use case voor deze. Aangezien SIP-profielen geen If, Then, Else-logica hebben, is er nu een manier om wijzigingen in een header uit te voeren op basis van een invoer van een andere header. Een beheerder wil bijvoorbeeld alleen een afleidingsheader wijzigen als de FROM-header 1234@cisco.com bevat. Met behulp van de nieuwe regelonderbreking kunnen we de IF-instructie binnen een SIP-profiel vervalsen. Zie de voorbeeldconfiguratie: U komt overeen met 1234 op elk domein in de kop Van. Vervolgens breng je de eerste set over en voeg je een nieuwe regeleinde toe \x0D\x0AD. Vervolgens voeg je de gewenste header toe. Met deze methode kunt u alleen een koptekst toevoegen. Er is geen manier om een andere header te wijzigen. Dit voldoet dus slechts gedeeltelijk aan de eisen die een beheerder eerder wilde bereiken.
!
voice class sip-profiles 1 request INVITE sip-header From modify “(.*sip:1234@.*)” “\1\x0D\x0ADiversion: <sip:5678@example.com>” !
Voorbeeld van een SIP-profiel met OR-logica.
!
voice class sip-profiles 123 request ANY sdp-header Audio-Attribute modify "(a=sendonly|a=recvonly|a=inactive)" "a=sendrecv" response ANY sdp-header Audio-Attribute modify "(a=sendonly|a=recvonly|a=inactive)" "a=sendrecv" !
Voorbeeld van Layer 7 SIP-inspectie via SIP-Profile.
### Usage 10.21.15.10 replace with private IP of CUBE a.b.c.d replace with public IP ------------------------------------------------------ ### Inbound from ITSP Layer 7 Fixup !
voice class sip-profiles 888 request INVITE sip-header SIP-Req-URI modify "@.*;" "@10.21.15.100;" ! voice service voip sip sip-profiles inbound ! ### Outbound Layer 7 Fixup ! voice class sip-profiles 777 request ANY sip-header Contact modify "<sip:(.*)@10.21.15.100:5060>" "<sip:\1 a.b.c.d:5060>" response ANY sip-header Contact modify "<sip:(.*)@10.21.15.100:5060>" "<sip:\1 a.b.c.d:5060>" request ANY sip-header Via modify "SIP(.*) 10.21.15.100(.*)" "SIP\1 a.b.c.d\2" request ANY sdp-header Session-Owner modify "(.*IP4 ).*" "\1a.b.c.d" request ANY sdp-header Connection-Info modify "IN IP4 10.21.15.100" "IN IP4 a.b.c.d" request ANY sdp-header Audio-Connection-Info modify "IN IP4 10.21.15.100" "IN IP4 a.b.c.d" response ANY sdp-header Session-Owner modify "(.*IP4 ).*" "\1a.b.c.d" response ANY sdp-header Audio-Connection-Info modify "IN IP4 10.21.15.100" "IN IP4 a.b.c.d" response ANY sdp-header Connection-Info modify "IN IP4 10.21.15.100" "IN IP4 a.b.c.d" request ANY sip-header Remote-Party-ID modify "<sip:(.*)@10.21.15.100>" "<sip:\1 a.b.c.d>" response ANY sip-header Remote-Party-ID modify "<sip:(.*)@10.21.15.100>" "<sip:\1 a.b.c.d>" !
### Apply to dial-peers for the side of the CUBE facing the ITSP
!
dial-peer voice 1 voip
voice-class sip profiles 777
voice-class sip profile 888 inbound
!
dial-peer voice 2 voip
voice-class sip profiles 777
voice-class sip profile 888 inbound
!
SIP-copylists zijn een uitbreiding van SIP-profielen waarmee de gateway een koptekst van de in-leg van een oproep kan KOPIËREN en vervolgens naar een andere plek in het uitgang-SIP-bericht op de uit-leg kan PLAKKEN. Ondersteuning voor SIP Copylist is toegevoegd in Cisco IOS 15.1(3)T en Cisco IOS XE 3.6S. Dit is een zeer krachtige manier om dynamische headers te maken op basis van andere headers van de in-leg van de oproep.
De meest voorkomende use-case is het dynamisch kopiëren van een FROM-header naar een andere header zoals omleiding of p-asserted-id, zodat de waarde van het gebruikersgedeelte afkomstig is van de gebruiker. Dit wordt meestal gedaan voor authenticatie en beller-ID-doeleinden.
Volledige documentatie: configuratiehandleiding voor Cisco Unified Border Element - Cisco IOS XE 17.6 en verder
Voorbeeld van SIP-copylist
! ! Create Copylist to copy the FROM header on the inbound message specified later. ! voice class sip-copylist <number> sip-header From ! ! Apply this to the inbound dial-peer of the call. ! dial-peer voice <tag> voip voice-class sip copy-list <number> ! ! Create SIP Profile to take From (peer-header) stored as variable "u01" and apply to a header of choice. ! This example modifies the user portion of the Contact by copying the user portion of the From header to the user portion of the Contact header. ! voice class sip-profiles <number> request INVITE peer-header sip From copy "<sip:(.*)@" u01 request INVITE sip-header Contact modify "<sip:(.*)>" "<sip:\u01@10.50.244.2>" ! ! Apply the SIP profile to an outbound dial-peer ! dial-peer voice <tag> voip voice-class sip profiles <number>
!
Foutopsporing SIP-profielen en copylist
debug voip ccapi inout debug ccsip mess debug ccsip info debug ccsip feature sip-profile
Debug-uitvoer uit de voorbeeld-SIP-copylist
### Ingress from CUCM Received: INVITE sip:1001@10.50.228.61:5060 SIP/2.0 Via: SIP/2.0/TCP 10.50.244.3:5060;branch=z9hG4bKaad21bc3ae7e From: "5001" <sip:5001@10.50.244.3>;tag=100442~cdffff43-5020-4e79-a10b-99d406971010-36470319 Contact: <sip:5001@10.50.244.3:5060;transport=tcp> ### Copylist Details 00440: Mar 8 18:59:49.796: //-1/xxxxxxxxxxxx/SIP/Info/info/64/sip_profiles_application_peer_copy_pattern: sed_match succeeded 000441: Mar 8 18:59:49.797: //187/D6138E000000/SIP/Info/info/64/sip_profiles_application_peer_copy_pattern: SIP Profiles COPY variables AVL tree created 000442: Mar 8 18:59:49.797: //-1/xxxxxxxxxxxx/SIP/Info/info/64/sip_profiles_prefix_slash_in_copy_var_val: ret_dst: 5001 000443: Mar 8 18:59:49.797: //187/D6138E000000/SIP/Info/info/64/sip_profiles_application_peer_copy_pattern: SIP Profiles COPY variable: u1 val: 5001 000444: Mar 8 18:59:49.797: //-1/xxxxxxxxxxxx/SIP/Info/info/64/sip_profiles_application_modify_remove_header: Header before modification : Contact: <sip:5001@10.50.228.61:5060> 000445: Mar 8 18:59:49.797: //187/D6138E000000/SIP/Info/info/64/sip_profiles_check_and_get_variables_in_replace_pattern: Node found: COPY variable: u1 val: 5001 000446: Mar 8 18:59:49.797: //187/D6138E000000/SIP/Info/info/64/sip_profiles_check_and_get_variables_in_replace_pattern: substituted_replace_pattern : : @168.117.64.94> 000448: Mar 8 18:59:49.797: //187/D6138E000000/SIP/Info/info/64/sip_profiles_check_and_get_variables_in_replace_pattern: Final substituted_replace_pattern : <sip:5001@168.117.64.94> 000449: Mar 8 18:59:49.797: //-1/xxxxxxxxxxxx/SIP/Info/info/64/sip_profiles_app_modify_header: Passing substituted replace pattern 000450: Mar 8 18:59:49.798: //-1/xxxxxxxxxxxx/SIP/Info/info/64/sip_profiles_application_modify_remove_header: Header after modification : Contact: <sip:5001@168.117.64.94> 000451: Mar 8 18:59:49.798: //187/D6138E000000/SIP/Msg/ccsipDisplayMsg: ### Egress from CUBE Sent: INVITE sip:1001@14.50.228.63:5060 SIP/2.0 Via: SIP/2.0/UDP 10.50.228.61:5060;branch=z9hG4bK3C7CD Remote-Party-ID: "5001" <sip:5001@10.50.228.61>;party=calling;screen=yes;privacy=off From: "5001" <sip:5001@10.50.228.61>;tag=34C458-D6 Contact: <sip:5001@168.117.64.94>
Alle signaleringsprotocollen bieden beheerders de mogelijkheid om de signalering aan een specifieke interface te binden. Standaard, een gateway zonder een statisch gedefinieerde binding, dan de gateway bronnen de signalering voor een oproep van de fysieke interface het pakket doorkruist. Met binding op een dial-peer, het pakket beschikt over source headers, berichten en pakketten van de opgegeven interface, maar het werkelijke pakket routeert nog steeds over de fysieke interface. Dial-peer binding vervangt altijd voice class tenant en global voice service voip binding met Session Initiation Protocol (SIP).
Vaak binden beheerders signalering aan een loopback. Omdat dit een logische interface is, betekent dit dat er geen pakketten door deze interface gaan. Om pakketopnames uit te voeren, moet de opname worden uitgevoerd op een fysieke interface. De opdracht show ip cef <remote-ip> geeft de fysieke interface weer die een pakket gebruikt om naar de bestemming / remote IP te routeren, zelfs als de configuratie is gebonden aan een virtuele interface.
Media- en signaleringsbinding hoeven niet altijd hetzelfde IP te zijn. Als een beheerder moet binden aan een specifieke interface voor signalering naar / van een CUCM, maar de audio / media tussen de telefoon en de gateway kan nodig zijn om te binden aan een andere interface.
Dit voorbeeld toont een dial-peer gebonden aan loopback 1 en het ontvangt een oproep van CUCM.
Hoewel het medium en de signalering (controle) gebonden zijn aan loopback 1, toont de show ip cef-opdracht dat alle pakketten die naar CUCM worden verzonden, op de fysieke interface GigabitEthernet 0/0/1 vertrekken.
! dial-peer voice 2 voip description "Incoming call from CUCM" session protocol sipv2 incoming called-number . voice-class sip bind control source-interface Loopback1 voice-class sip bind media source-interface Loopback1 !
Order of Operations voor Layer 7 Application Binding
SIP-bindende opdrachten
! Per Dial-peer
!
dial-peer voice 1 voip voice-class sip bind control source-interface <interface> voice-class sip bind media source-interface <interface> !
! Global Binding
! voice service voip sip bind control source-interface <interface> bind media source-interface <interface> !
MGCP-bindingsopdrachten
!
mgcp bind control source-interface <interface> mgcp bind media source-interface <interface>
!
SCCP-bindingsopdrachten
!
sccp local <interface> ! sccp ccm group <number> bind interface <interface> !
H323 Bindende opdrachten
! inteface <interface> ! ! Media Bind Command: h323-gateway voip interface ! ! Signaling Bind Command: h323-gateway voip bind srcaddr <a.b.c.d> !
DNS met VOIP wordt gebruikt, net als elke andere DNS-oplossing. Een veelgebruikte configuratie is om sessiedoel-dns te gebruiken: FQDN.com.
Een Cisco Gateway voert een DNS-resolutie uit, zelfs als er geen IP-domeinopzoeking wereldwijd op de gateway is geconfigureerd. Dit betekent dat, hoewel u DNS uitschakelt, de VOIP-kiescollega's nog steeds de DNS-invoer oplossen. Echter, onlangs in Cisco IOS XE 3.16S waren er enkele wijzigingen in de algemene DNS-functionaliteit binnen Cisco IOS XE-platforms.
Na deze wijziging gehoorzamen dial-peers die zijn geconfigureerd met sessiedoel-dns: FQDN.com nu aan het feit dat DNS is uitgeschakeld zonder ip-domein op te zoeken.
Ik adviseer altijd ervoor te zorgen dat de opdracht "ip domain lookup" is geconfigureerd bij het werken met DNS om dit probleem te voorkomen.
Voor uitgaande SIP-verbindingen voert CUBE deze bewerkingsvolgorde uit voor DNS-resolutie.
Voor informatie over hoe de SRV wordt gemaakt of hoe de SRV wordt overgeslagen en een A-recordquery op een sessiedoel wordt uitgevoerd, raadpleegt u de volledige documentatie: Cisco Unified Border Element Configuration Guide - Cisco IOS XE 17.6
Voor inkomende SIP-verbindingen waarbij een Cisco IOS-gateway een header moet oplossen om op een bericht te reageren, kan de gateway deze bewerkingsvolgorde gebruiken voor DNS-resolutie
In Cisco IOS XE 17.9.1 kan CUBE de bereikbaarheid van DNS-sessiedoelen controleren door middel van mechanismen voor het levend houden van opties. Bekijk de volledige documentatie:
Configuratiehandleiding voor Cisco Unified Border Element - Cisco IOS XE 17.6 en verder
Cisco IOS DNS-configuratievoorbeelden
ip host _sip._udp.cucmgroup.lab.local srv 1 50 5060 cucm1.lab.local ip host _sip._udp.cucmgroup.lab.local srv 1 50 5060 cucm2.lab.local ip host _sip._udp.cucmgroup.lab.local srv 1 50 5060 cucm3.lab.local ip host cucm1.lab.local 10.0.0.1 ip host cucm2.lab.local 10.0.0.2 ip host cucm3.lab.local 10.0.0.3 ip domain name lab.local ip name-server 8.8.8.8
Opmerking: DNS SRV-ondersteuning op Cisco IOS XE wordt ondersteund op 15.6(1)S / 3.17.00.S en hoger.
DNS-foutmeldingen en verificatieopdrachten
show host clear host all * ! debug ip dns view debug ip domain debug ccsip info
debug ccsip error
DNS Testing 3.15S en hoger
### Domain Name Verification
Gateway# sh run | s lookup
no ip domain lookup
### Checking the host table for no entry
Gateway# show host
Name lookup view: Global
Default domain is cisco.com
Name/address lookup uses static mappings
Codes: UN - unknown, EX - expired, OK - OK, ?? - revalidate
temp - temporary, perm - permanent
NA - Not Applicable None - Not defined
Host Port Flags Age Type Address(es)
### Verification of no PING on a FQDN
Gateway# ping cucm.cisco.com
Translating "cucm.cisco.com"
% Unrecognized host or address, or protocol not running.
### Made a test call here
### Checking logs to see if it worked
Gateway# sh log | s INVITE sip:
INVITE sip:9001@14.50.228.70:5060 SIP/2.0
INVITE sip:5001@cucm.cisco.com:5060 SIP/2.0
### Host Table now has an entry
Gateway# sh host
Name lookup view: Global
Default domain is cisco.com
Name/address lookup uses static mappings
Codes: UN - unknown, EX - expired, OK - OK, ?? - revalidate
temp - temporary, perm - permanent
NA - Not Applicable None - Not defined
Host Port Flags Age Type Address(es)
cucm.cisco.com None (temp, OK) 0 IP 10.50.244.2
### CCSIP All output showing a proper DNS Query for the FQDN on the dial-peer.
001338: Mar 9 15:29:07.437: //-1/xxxxxxxxxxxx/SIP/Info/info/1024/httpish_msg_free: Freed msg=0x7FE9873AE560
001339: Mar 9 15:29:07.437: //-1/xxxxxxxxxxxx/SIP/Info/notify/8192/sip_dns_type_srv_query: TYPE SRV query for _sip._udp.cucm.cisco.com and type:1
001340: Mar 9 15:29:07.438: //-1/xxxxxxxxxxxx/SIP/Info/info/8192/sip_dns_type_a_aaaa_query: DNS query for cucm.cisco.com and type:1
001341: Mar 9 15:29:07.441: //-1/xxxxxxxxxxxx/SIP/Info/notify/8192/sip_dns_type_a_query: TYPE A query successful for cucm.cisco.com
001342: Mar 9 15:29:07.441: //-1/xxxxxxxxxxxx/SIP/Info/info/8192/sip_dns_type_a_query: ttl for A records = 3600 seconds
001343: Mar 9 15:29:07.441: //-1/xxxxxxxxxxxx/SIP/Info/info/8192/sip_dns_type_a_aaaa_query: IP Address of cucm.cisco.com is:
001344: Mar 9 15:29:07.441: //-1/xxxxxxxxxxxx/SIP/Info/info/8192/sip_dns_type_a_aaaa_query: 10.50.244.2DNS-test 3.16S en hoger.
### Checking the command is present Gateway# sh run | s lookup no ip domain lookup ### Verifying the gateway cannot ping a FQDN Gateway# ping cucm.cisco.com % Unrecognized host or address, or protocol not running. ### Checking the Host Table for entries Gateway# sh host Default domain is cisco.com Name servers are 10.50.244.52 NAME TTL CLASS TYPE DATA/ADDRESS ----------------------------------------- ### Made a test call here ### CCSIP All Outbound showing the failed call 000974: *Mar 9 15:53:01.222: //-1/xxxxxxxxxxxx/SIP/Info/info/1024/httpish_msg_free: Freed msg=0x7FF31DAAA848 000975: *Mar 9 15:53:01.222: //-1/xxxxxxxxxxxx/SIP/Info/notify/8192/sip_dns_type_srv_query: TYPE SRV query for _sip._udp.cucm.cisco.com and type:1 000976: *Mar 9 15:53:01.224: //-1/xxxxxxxxxxxx/SIP/Info/info/8192/sip_dns_type_a_aaaa_query: DNS query for cucm.cisco.com and type:1 000977: *Mar 9 15:53:01.225: //-1/xxxxxxxxxxxx/SIP/Error/sip_dns_type_a_query: TYPE A query failed for cucm.cisco.com 000978: *Mar 9 15:53:01.225: //-1/xxxxxxxxxxxx/SIP/Error/_send_dns_fail: DNS Query for cucm.cisco.com failed 000984: *Mar 9 20:53:01.225: %VOICE_IEC-3-GW: SIP: Internal Error (DNS query fail): IEC=10.1.128.7.47.0 on callID 6 GUID=37B668DF044111E7A950D832C82B325C
Standaard maken VOIP- en POTS-kiespeers onbeperkte verbindingen (oproepen) en bandbreedte (alleen VOIP-kiespeers) mogelijk. Voor trunks die een limiet hebben op het aantal oproepen of de bandbreedte die kunnen worden gebruikt, kan het nuttig zijn om de opdrachten max-conn of max-bandbreedte te gebruiken. max-conn werd toegevoegd in Cisco IOS 11.3(1)T en is aanwezig in alle Cisco IOS XE-versies, terwijl max-bandbreedte werd toegevoegd in 15.2(2)T en Cisco IOS-XE 3.7S.
Hier vertelt u de gateway om te beperken dial-peer 1 tot 30 gesprekken met behulp van de max-conn 30 opdracht.
Dial-peer 2 beperkt de bandbreedte voor die dial-peer, zodat we niet over de toegewezen limiet gaan.
! dial-peer voice 1 voip description ITSP SIP Trunk - 30 Max Calls! session protocol sipv2 sess target ipv4:10.10.10.10 destination-pattern 8675309$ max-conn 30 !
dial-peer voice 2 voip
description SIP Trunk with Bandwidth Restrictions!
session protocol sipv2
sess target ipv4:10.10.10.10
destination-pattern 123456789$
max-bandwidth 400
!
Voorbeeldfout bij overschrijden van de max-conn-drempelwaarde.
000308: Oct 5 19:01:02.603: %CALL_CONTROL-6-MAX_CONNECTIONS: Maximum number of connections reached for dial-peer 1 000309: Oct 5 19:01:02.603: %VOICE_IEC-3-GW: CCAPI: Internal Error (Dial-peer connections exceeded): IEC=10.1.181.1.21.0 on callID 0 000310: Oct 5 19:01:02.604: %SIP-3-MAXCONNCAC: Call rejected due to CAC based on maximum number of connections on dial-peer 1, sent response 503 000311: Oct 5 19:01:02.604: //17084/86B070800000/SIP/Msg/ccsipDisplayMsg: Sent: SIP/2.0 503 Service Unavailable Via: SIP/2.0/TCP 10.50.244.62:5060;branch=z9hG4bKb78c35aa21b0 From: <sip:9001@10.50.244.62>;tag=72531~2e8ca155-3f0b-4f07-a1b2-b14ef77ceb7f-26250846 To: <sip:1234@10.50.245.70>;tag=3E19564D-1684 Date: Thu, 05 Oct 2017 19:01:02 GMT Call-ID: 86b07080-9d61816e-b762-3ef4320e@10.50.244.62 CSeq: 101 INVITE Allow-Events: telephone-event Warning: 399 10.50.245.70 "Maximum Number of Connections reached for dial-peer 1" Server: Cisco-SIPGateway/IOS-15.4.3.S4 Content-Length: 0
Met Direct Inward Dial ingeschakeld op POTS dial-peers, kan het inkomende bericht alle cijfers bevatten die nodig zijn om het gesprek te routeren. De Cisco Gateway kan geen volgende cijferverzameling uitvoeren. Wanneer de router of gateway naar een uitgaande dial-peer zoekt, gebruikt het apparaat de volledige inkomende kiesreeks. Deze overeenkomst is standaard variabele lengte. Deze overeenkomst wordt niet digit-by-digit gedaan omdat per DID-definitie alle cijfers zijn ontvangen. Dit is de standaardconfiguratie voor POTS-kiescollega's.
Volledige documentatie: Direct-Inward-Dial (DID) begrijpen op iOS Voice Digital (T1/E1)-interfaces
! dial-peer voice 1 pots incoming called-number 8675309 voice-port 0/0/0 direct-inward-dial !
Als de inkomende POTS-dial-peer is geconfigureerd zonder direct-inward-dial, komt de router of gateway in de cijferverzamelmodus (cijfers worden in band verzameld). Uitgaande dial-peer matching gebeurt op een digit-by-digit basis. De router of gateway controleert op dial-peer-overeenkomsten nadat het apparaat elk cijfer heeft ontvangen en routeert vervolgens het gesprek wanneer een volledige match is gemaakt.
!
dial-peer voice 1 pots
incoming called-number 8675309
voice-port 0/0/0
no direct-inward-dial
!Elk protocol behandelt het blokkeren van oproepen een beetje anders. De meeste protocollen kunnen gebruik maken van het afwijzingspatroon van de regel voor vertaling, dat blokken op basis van een tekenreeks met cijfers bevat. Als een beheerder nog steeds een inbound vertaalprofiel wil toepassen voor normale cijfermanipulatie, maar geen nummers binnen wil blokkeren, is er een optie om een callblock te implementeren met behulp van de opdracht call-block vertaalprofiel.
! voice translation-rule 164 rule 1 reject /8675309/ ! voice translation-profile CALLBLOCK translate calling 164 !
dial-peer voice 1 pots
desc INCOMING VOICE-PORT with BLOCK
translation-profile incoming ANOTHER
call-block translation-profile incoming CALLBLOCK
call-block disconnect-cause incoming invalid-number
incoming called-number .
port 0/0/0:23
! Gateway#test voice translation-rule 164 8675309 8675309 blocked on rule 1
Binnen E1 R2 bestaat de mogelijkheid voor een beheerder om Collect Calls te blokkeren. Dit wordt voornamelijk gezien en gebruikt in Brazilië implementaties, maar kan worden geconfigureerd via elke cas-aangepaste groep.
De twee opties zijn:
Categorie II-8 Blokbericht (foutopsporings-vpm-signaal)
009228: Nov 21 12:02:00.955 GMT: //-1/BF12BE36BAC8/VTSP:(0/0/0:0):-1:1:2/vtsp_report_cas_digit: Begin Digit=8, Mode=CC_TONE_R2_MF_BACKWARD_MODE 009229: Nov 21 12:02:00.955 GMT: htsp_digit_ready_up(0/0/0:0(2)): Rx digit='8' 009230: Nov 21 12:02:00.955 GMT: R2 Incoming Voice(0/0): DSX (E1 0/0/0:1): STATE: R2_IN_CATEGORY R2 Got Event 8 009231: Nov 21 12:02:00.955 GMT: Enter r2_comp_category 009232: Nov 21 12:02:00.955 GMT: R2 Event : 8 009233: Nov 21 12:02:00.955 GMT: #######R2_II8 TRUE######## 009234: Nov 21 12:02:00.955 GMT: ####### collect_call_enable = 0 009235: Nov 21 12:02:00.955 GMT: ############sending B7 ########## 009236: Nov 21 12:02:00.955 GMT: r2_reg_generate_digits(0/0/0:0(2)): Tx digit '7' 009237: Nov 21 12:02:01.055 GMT: //-1/BF12BE36BAC8/VTSP:(0/0/0:0):-1:1:2/vtsp_report_cas_digit: End Digit=8, Mode=CC_TONE_R2_MF_BACKWARD_MODE 009238: Nov 21 12:02:01.055 GMT: htsp_digit_ready(0/0/0:0(2)): Rx digit='#' 009239: Nov 21 12:02:01.055 GMT: R2 Incoming Voice(0/0): DSX (E1 0/0/0:1): STATE: R2_IN_CATEGORY R2 Got Event R2_TONE_OFF 009240: Nov 21 12:02:01.055 GMT: Enter r2_comp_category 009241: Nov 21 12:02:01.055 GMT: r2_reg_generate_digits(0/0/0:0(2)): Tx digit '#' 009242: Nov 21 12:02:01.359 GMT: htsp_dsp_message: SEND_SIG_STATUS: state=0x8 timestamp=22365 systime=225097425 009243: Nov 21 12:02:01.359 GMT: htsp_process_event: [0/0/0:0(2), R2_Q421_IC_WAIT_ANSWER, E_DSP_SIG_1000] 009244: Nov 21 12:02:01.359 GMT: r2_q421_ic_clr_fwd_idle(0/0/0:0(2)) Rx CLEAR FWD 009245: Nov 21 12:02:01.359 GMT: r2_reg_channel_disconnected(0/0/0:0(2)) 009246: Nov 21 12:02:01.359 GMT: R2 Incoming Voice(0/0): DSX (E1 0/0/0:1): STATE: R2_IN_CATEGORY R2 Got Event R2_STOP 009247: Nov 21 12:02:01.359 GMT: Enter r2_comp_category 009248: Nov 21 12:02:01.359 GMT: htsp_timer - 2000 msec 009249: Nov 21 12:02:01.359 GMT: htsp_process_event: [0/0/0:0(2), R2_Q421_IC_CLR_FWD, E_HTSP_RELEASE_REQ] 009250: Nov 21 12:02:01.359 GMT: r2_q421_null_release(0/0/0:0(2)) E_HTSP_RELEASE_REQ 009251: Nov 21 12:02:01.359 GMT: r2_reg_process_event: [0/0/0:0(2), R2_REG_COLLECTING, E_R2_REG_DISCONNECT(91)] 009252: Nov 21 12:02:01.359 GMT: r2_reg_disconnect_collect(0/0/0:0(2)) 009253: Nov 21 12:02:01.359 GMT: r2_reg_timer_stop(0/0/0:0(2)) 009254: Nov 21 12:02:01.711 GMT: htsp_process_event: [0/0/0:0(1), R2_Q421_IC_CLR_FWD, E_HTSP_EVENT_TIMER] 009255: Nov 21 12:02:01.711 GMT: htsp_timer_stop 009256: Nov 21 12:02:01.711 GMT: r2_q421_clr_fwd_idle(0/0/0:0(1)) Tx IDLEvnm_dsp_set_sig_state:[R2 Q.421 0/0/0:0(1)] set signal state = 0x8 009257: Nov 21 12:02:01.711 GMT: r2_reg_channel_disconnected(0/0/0:0(1)) 009258: Nov 21 12:02:01.711 GMT: //682206/0C63B263B9C9/VTSP:(0/0/0:0):0:1:1/vtsp_do_call_history: Coder Rate=5 009259: Nov 21 12:02:01.711 GMT: r2_reg_process_event: [0/0/0:0(1), R2_REG_IDLE, E_R2_REG_DISCONNECT(91)]
! controller e1 0/0/0 ds0-group 0 timeslots 1-15,17-31 type r2-digital r2-compelled ani cas-custom 0 country brazil double-answer cc-reanswer-to 3000 !
Dubbel-antwoord Debugs (debug vpm signaal)
### Answer the call and start a 1 second timer May 23 09:52:59.180 BR: r2_q421_ic_answer(0/0/0:0(18)) Tx ANSWER seizure: delay 0 ms,elapsed 12404 msvnm_dsp_set_sig_state:[R2 Q.421 0/0/0:0(18)] set signal state = 0x4 May 23 09:52:59.180 BR: r2_reg_channel_connected(0/0/0:0(18)) May 23 09:52:59.180 BR: htsp_timer - 1000 msec May 23 09:52:59.180 BR: //23899578/92233E71B421/CCAPI/cc_api_voice_mode_event: Call Id=23899578 May 23 09:52:59.180 BR: //23899578/92233E71B421/CCAPI/cc_api_voice_mode_event: Call Entry(Context=0x1E73AD8) May 23 09:52:59.180 BR: htsp_process_event: [0/0/0:0(18), R2_Q421_IC_DOUBLE_ANS_ANS, E_HTSP_VOICE_CUT_THROUGH] all May 23 09:52:59.184 BR: //23899578/92233E71B421/CCAPI/cc_process_notify_bridge_done: Conference Id=0x10AD1, Call Id1=23899578, Call Id2=23899579 May 23 09:52:59.184 BR: r2_reg_process_event: [0/0/0:0(18), R2_REG_WAIT_FOR_CONNECT, E_R2_REG_CONNECT(90)] May 23 09:52:59.184 BR: r2_reg_connect(0/0/0:0(18)) ### One Second Passes and we clear the call and start a 2 second timer May 23 09:53:00.180 BR: htsp_process_event: [0/0/0:0(18), R2_Q421_IC_DOUBLE_ANS_ANS, E_HTSP_EVENT_TIMER] May 23 09:53:00.180 BR: r2_q421_ic_d_answ_answ_to(0/0/0:0(18)) E_TIMER_EVENT May 23 09:53:00.180 BR: htsp_timer - 2000 msec May 23 09:53:00.180 BR: r2_q421_ic_d_answ_answ_to(0/0/0:0(18)) Tx CLEAR BWDvnm_dsp_set_sig_state:[R2 Q.421 0/0/0:0(18)] set signal state = 0xC May 23 09:53:00.824 BR: htsp_process_event: [0/0/0:0(18), R2_Q421_IC_DOUBLE_ANS_RLS, E_DSP_SIG_1000] May 23 09:53:00.824 BR: r2_q421_ic_answer_clr_fwd(0/0/0:0(18)) Rx CLEAR FWD May 23 09:53:00.824 BR: r2_reg_channel_disconnected(0/0/0:0(18)) May 23 09:53:00.824 BR: htsp_timer - 2000 msec May 23 09:53:00.824 BR: r2_reg_process_event: [0/0/0:0(18), R2_REG_CONNECTED, E_R2_REG_DISCONNECT(91)] May 23 09:53:00.824 BR: r2_reg_disconnect_idle(0/0/0:0(18)) May 23 09:53:00.824 BR: R2 Incoming Voice(0/0): DSX (E1 0/0/0:17): STATE: R2_IN_IDLE R2 Got Event R2_STOP May 23 09:53:00.824 BR: r2_reg_timer_stop(0/0/0:0(18)) ### 2 second passes and the gateway release the call May 23 09:53:02.824 BR: htsp_process_event: [0/0/0:0(18), R2_Q421_IC_CLR_FWD, E_HTSP_EVENT_TIMER] May 23 09:53:02.824 BR: htsp_timer_stop May 23 09:53:02.824 BR: r2_reg_channel_disconnected(0/0/0:0(18)) May 23 09:53:02.824 BR: //23899578/92233E71B421/VTSP:(0/0/0:0):17:1:1/vtsp_cc_call_disconnected: Cause Value=16 May 23 09:53:02.824 BR: //23899578/92233E71B421/CCAPI/cc_api_call_disconnected: Cause Value=16, Interface=0xB41CEBC, Call Id=23899578
Er zijn implicaties voor inbound dial-peer matching wanneer de isdn overlap-ontvangende opdracht is geconfigureerd op ISDN-interfaces. Nadat elk cijfer is ontvangen op de ISDN-laag, worden de inbelnummers gecontroleerd op overeenkomsten. Als een volledige match wordt gemaakt, wordt de oproep onmiddellijk gerouteerd (naar de sessie-app in dit geval) zonder te wachten op extra cijfers. De T-terminator kan worden gebruikt om deze digit-by-digit matching op te schorten en de router of gateway te dwingen te wachten totdat alle cijfers zijn ontvangen. De T verwijst naar de T302 interdigit timer op ISDN niveau, configureerbaar onder de seriële interface gekoppeld aan de ISDN-interface. ISDN biedt ook andere mechanismen om het einde van cijfers aan te geven, zoals het instellen van het Verzenden van Volledige Informatie Element (IE) in Q.931 informatieberichten.
Het weergegeven waarschuwingsbericht wordt weergegeven wanneer de inbelverbinding is geconfigureerd met het binnenkomende nummer T.
Gateway(config)# dial-peer voice 1 pots
Gateway(config-dial-peer)# incoming called-number T
Warning: Pattern T defines a match with zero or more digits and hence could
match with an empty number. If this is not the desired behaviour please
configure pattern .T instead to match on one or more digits
Speciale opmerkingen over inkomende dial-peer-match met een leeg opgeroepen nummer.
Een null-callnummer wordt als minder gekwalificeerd beschouwd in vergelijking met een spraakpoort en / of in sommige gevallen een antwoordadres. Daarom kan een overeenkomst op basis van een null-nummer alleen plaatsvinden als er geen overeenkomst is op basis van het antwoordadres of het poortnummer.
In het geval van een overlappende keuze komt een null-nummer niet overeen met het inkomende nummer T omdat er geen time-out is opgetreden.
Een null-callnummer kan alleen overeenkomen met het inkomende callnummer T in het geval van ENBLOCK en er is geen match, hetzij vanwege het antwoordadres en het poortnummer. De waarschuwing die wordt weergegeven wanneer een beheerder het binnenkomende nummer T configureert, verwijst naar dit specifieke geval.
Class of Restriction (COR) is een manier om oproepen op een Cisco Gateway te beperken. COR wordt vaak omschreven als een slot en sleutelmechanisme. Locks worden toegewezen aan dial-peers met een uitgaande COR-lijst. Sleutels worden toegewezen aan dial-peers met een binnenkomende COR-lijst. Wanneer COR-lijsten worden toegepast, zijn de beschikbare uitgaande kiespeers degene die de sleutel kan ontgrendelen. Deze filtering vindt plaats voordat de rest van de uitgaande kiespeermatchingmethoden wordt gecontroleerd.
Twee belangrijke regels met klasse van beperking:
Configuratie van Class of Restriction (COR), Logical Partitioning Class of Restriction (LPCOR) en LPCOR met Gedwongen Autorisatiecodes (FAC) vallen buiten het toepassingsgebied van dit document, maar deze documenten kunnen worden geraadpleegd voor verdere lezing.
|
COR |
|
|
LPCOR met CME |
|
|
LPCOR met CME en FAC |
Cisco Unified Communications Manager Express-systeembeheerdershandleiding |
CME maakt systeem dial-peers voor telefoons en spraakregister pools. Deze zijn niet te zien in de running config. Om wijzigingen aan te brengen in de CME-kiezerspubliek, moeten de wijzigingen worden aangebracht in de eigenlijke pool van telefoon- of spraakregisters. Bij het bekijken van show dial-peer spraak samenvatting uitgangen, de dial-peer te beginnen met 2000 zijn SCCP telefoons en dial-peers te beginnen met 4000 zijn SIP voice register pools. Deze dial-peer verschijnt als de inkomende dial-peer voor oproepen van CME geregistreerde telefoons en de uitgaande dial-peer in debugs voor oproep naar CME geregistreerde telefoons.
Voorbeeld Uitvoer voor toon dial-peer spraak samenvatting met CME.
Gateway# show dial-peer voice sum | s 2000|4000 20001 pots up up 1001$ 0 50/0/1 20002 pots up up 4001$ 0 50/0/2 20003 pots up up 4002$ 0 50/0/3 20004 pots up up 7001$ 0 50/0/4 20005 pots up up 3009$ 0 50/0/5 20006 pots up up 8810....$ 0 50/0/10 20007 pots up up 8811....$ 0 50/0/11 40001 voip up up 14085151111$ 0 syst ipv4:14.50.214.67:50 40002 voip up up 19725252222$ 0 syst ipv4:14.50.214.67:50 40003 voip up up 85225353333$ 0 syst ipv4:14.50.214.67:50 40004 voip up up 442084445555$ 0 syst ipv4:14.50.214.67:50 40005 voip up up 911$ 0 syst ipv4:14.50.214.67:50 40006 voip up up 18005550100$ 0 syst ipv4:14.50.214.67:50 40008 voip up up 2001$ 0 syst ipv4:14.50.214.51:50
Voorbeeld van uitvoer voor het tonen van stemregister-inbelpeers met SIP CME.
Gateway# show voice register dial-peers Dial-peers for Pool 2: dial-peer voice 40006 voip destination-pattern 14085151111$ session target ipv4:14.50.214.67:5060 session protocol sipv2 dtmf-relay rtp-nte digit collect kpml codec g711ulaw bytes 160 no vad call-fwd-all 8888 after-hours-exempt FALSE dial-peer voice 40005 voip destination-pattern 19725252222$ session target ipv4:14.50.214.67:5060 session protocol sipv2 dtmf-relay rtp-nte digit collect kpml codec g711ulaw bytes 160 no vad after-hours-exempt FALSE
MGCP en SCCP volgen hun eigen regels voor dial-peers. Het enige concept dat ze gebruiken, is dat ze moeten worden geconfigureerd met de gewenste spraakpoort voor het gesprek. De rest wordt afgehandeld door het STCAPP- en MGCPAPP-proces. Wanneer u de configuratie van deze dial-peers onderzoekt, hebben ze ofwel de command service mgcpapp of de service stcapp. Deze maken de dial-peer voor de toepassing van keuze, evenals vertellen de toepassing welke dial-peer het aankan.
Bij het debuggen van deze protocollen, geeft de uitvoer nooit een inkomende dial-peer match weer. Dit kan altijd worden weergegeven als dial-peer 0. Omdat het niet bestaat. De Call Agent die de toepassing afhandelt, heeft al gekozen naar welke poort de oproep moet worden verzonden en inbound dial-peer matching is nutteloos omdat de gateway geen controle heeft over dat gedeelte van de oproep. Er kan echter een uitgaande dial-peer-match worden waargenomen. Dit is alleen voor de show, omdat uiteindelijk de callagent die het proces afhandelt ook controle heeft over die kant van het gesprek.
Vergeet niet dat de dial-peer alleen de toepassing naar keuze vertelt welke fysieke spraakpoort moet worden bestuurd. Aangezien het grootste deel hiervan wordt bestuurd door een externe oproepagent en de gateway, doet het gewoon wat het wordt verteld. Je gaat de onderliggende manier van werken op dit gedeelte overslaan en een paar configuraties bieden om aan de slag te gaan.
Voorbeeld van MGCP-configuratie [met CUCM Auto-Configuration*]
!
mgcp call-agent 10.10.10.10
mgcp
!
ccm-manager mgcp [codec-all]
ccm-manager config server 10.10.10.10
ccm-manager config
ccm-manger redundant-host 10.10.10.20
!
voice-port 0/0/0
description The MGCP port to register
no shut
!
dial-peer voice 1 pots
description Defining the Port for the MGCP application
service mgcpapp
port 0/0/0
!
hostname myrouter
ip domain name cisco.com
ip name server 10.10.10.30
!
ip tftp source-interface gig0/0/0
!
Volledige MGCP-documentatie: Cisco Unified Communications Manager en configuratiehandleiding voor interoperabiliteit, Cisco IOS Release 15M&T
Voorbeeld van SCCP-/STCAPP-configuratie [met CUCM-automatische configuratie*]
!
stcapp ccm-group 1
stcapp
!
sccp local gig0/0/0
sccp ccm 10.10.10.10 id 1 priority 1 version 7.0+
sccp ccm 10.10.10.20 id 1 priority 2 version 7.0+
sccp
!
sccp ccm group 1
bind interface gig0/0/0
associate ccm 1 priority 1
associate ccm 2 priority 2
!
ccm-manager config server 10.10.10.10
ccm-manager sccp local gig0/0/0
ccm-manager sccp
!
voice-port 0/0/0
description The SCCP port to register
no shut
!
dial-peer voice 1 pots
description Defining the Port for the SCCP application
service stcapp
port 0/0/0
!
ip tftp source-interface gig0/0/0
!
Als een beheerder niet wil dat CUCM de gateway configureert, verwijdert u gewoon de opdrachten voor ccm-manager. De dial-peer-configuratie is inbegrepen om het punt over hoe het concept werkt naar huis te rijden. Met ccm-manager configuraties aanwezig, CUCM maakt deze dial-peers op basis van de poortconfiguratie in CUCM, dus het is niet nodig om de dial-peer daadwerkelijk te definiëren. De door CUCM gemaakte dial-peers beginnen meestal met 999 en zijn dan nog drie cijfers.
SIP DSAPP werd toegevoegd in Cisco IOS XE 16.12.1+ en CUCM 12.5.1SU+
Met deze functie kunnen analoge spraakpoorten zoals FXS worden geregistreerd en beheerd door CUCM. Oproeproutering met DSAPP is iets anders dan MGCP of SCCP omdat de dial-peers nog steeds normaal overeenkomen. Dat wil zeggen, de gateway kan cijfers verzamelen van de FXS-poort en een dial-peer-zoekopdracht uitvoeren op de VOIP-dial-peers. Nadat een match is gevonden, wordt de INVITE verzonden naar CUCM enblock voor CUCM om verdere cijferanalyse uit te voeren.
Voorbeeld SIP DSAPP-configuratie [met CUCM-automatische configuratie*] | Cisco IOS-XE 16.12.1+ en CUCM 12.5.1SU+
!
dsapp line
!
voice service voip
sip
bind control source-interface GigabitEthernet0/0/0
bind media source-interface GigabitEthernet0/0/0
session transport tcp
!
application
service dsapp
param dialpeer 777
!
global
service default dsapp
!
ccm-manager config server 10.10.10.10
ccm-manager sipana auto-config local GigabitEthernet0/0/0
!
dial-peer voice 777 voip
destination-pattern 9T
session protocol sipv2
session target ipv4:10.10.10.10
session transport tcp
incoming called-number .
voice-class sip extension gw-ana
voice-class sip bind control source-interface GigabitEthernet0/0/0
dtmf-relay rtp-nte
codec g711ulaw
!
dial-peer voice 19990100 pots
service dsapp
destination-pattern 7776
voice-class sip extension gw-ana
port 0/1/0
!
sip-ua
registrar ipv4:10.10.10.10 expires 3600 tcp
!
Volledige SIP DSAPP-documentatie: Cisco VG450 Voice Gateway Software Configuration Guide.
Zie dit document voor meer gedetailleerde informatie.
| Revisie | Publicatiedatum | Opmerkingen |
|---|---|---|
5.0 |
12-Nov-2025
|
Gecorrigeerde alt tekst, opmaak en grammaticale fouten. |
4.0 |
24-May-2023
|
Verwijderde PII.
Bijgewerkte titel, inleiding, SEO, branding vereisten, stijl eisen, machine vertaling, alt tekst en opmaak. |
3.0 |
27-Apr-2022
|
Herpublicatie na kleine wijzigingen. |
1.0 |
30-May-2017
|
Eerste vrijgave |
Feedback
Opmerking: De uitzondering op deze regel is met MGCP- en SCCP-spraakpoorten. Deze signaleringsprotocollen volgen niet het normale mechanisme voor het matchen van de kiezer tijdens de gespreksroutering. Zie de sectie SCCP en MGCP voor meer informatie.