Deze technische nota is van toepassing op Cisco IOS spraak-enabled routers/gateways met digitale interfaces (T1/E1). Raadpleeg voor meer informatie over Cisco Analog Direct Inward Dialing (DID): Analoge DID voor Cisco 2600 en Cisco 3600 Series routers
Opmerking: Op de meeste platforms is DID standaard ingeschakeld op CAS-interfaces (direct, link, vertraging). Configureer daarom de opdracht direct-naar-binnen voor inkomende oproepen niet. Op Cisco AS5300-platforms wordt DID niet ondersteund op interfaces die zijn geconfigureerd voor E & M onmiddellijke signalering.
Er zijn geen specifieke vereisten van toepassing op dit document.
Dit document is niet beperkt tot specifieke software- en hardware-versies.
Zie de Cisco Technical Tips Convention voor meer informatie over documentconventies.
DID is een service die wordt aangeboden door telefoonbedrijven die bellers in staat stelt om rechtstreeks naar een uitbreiding te bellen op een Private Branch Exchange (PBX) of een pakketspraaksysteem zonder de hulp van een operator of een geautomatiseerde gespreksmedewerker. Deze service maakt gebruik van DID-trunks, die alleen de laatste drie tot vijf cijfers van een telefoonnummer doorsturen naar de PBX- of router/poort. Als een bedrijf bijvoorbeeld telefoons heeft van 555-1000 naar 555-1999 en een beller 555-1234 draait, kan het plaatselijke centrale kantoor (CO) 234 naar de PBX of het pakketspraaksysteem doorsturen. De PBX of het systeem van de pakketspraak (Cisco CallManager en IOS router/gateway) zou dan verbinding 234 maken. Dit gehele proces is transparant voor de beller.
In dit document bespreken we twee soorten kiestoon als volgt:
Plain old Phone Service (POTS) - Dit is een traditionele spraakoproepen die via het openbare telefoonnetwerk (PSTN) wordt geplaatst, waarbij u tijdens de duur van de oproep een speciale 64K circuit-end gesprekstraject krijgt. POTS kiespeers zullen altijd naar een spraak-poort op de router wijzen
Voice-Network-A spraakoproepen via het gegevensnetwerk bestaan uit verschillende aanroepen. Elke call-leg of reist tussen gegevensapparaten (routers/gateways) of tussen gegevens en telefonieapparaten (zoals een router naar een PBX). Spraak-netwerk kiespeers wijzen naar verschillende bestemmingen, afhankelijk van de gebruikte netwerktechnologie. Spraaknetwerkkiespeers bevatten de volgende elementen:
Voice-over-IP (VoIP)
Voice over Frame Relay (VoFR)
Voice over ATM (VoATM)
Multimedia Mail over IP (MultiIP)
Wanneer een stemvraag in de Cisco IOS router/gateway komt, wordt de spraakpoort op de router ingesloten door een PBX- of CO-switch. De router/gateway presenteert dan een kiestoon aan de aanroep en verzamelt cijfers tot zij een uitgaande wijzerplaat kunnen identificeren. Of de cijfers met onregelmatige tussenpozen door mensen worden gedraaid of op een regelmatige manier door telefonieapparatuur die de vooraf verzamelde cijfers verstuurt, wordt de dial-peers afgestemd op cijfers. Dit betekent de router/gateway pogingen om een dial peer aan te passen nadat elk cijfer wordt ontvangen. Dit proces heet tweefasendraaien.
Als echter de PBX- of CO-switch een setup-bericht verstuurt dat "alle" cijfers bevat die nodig zijn om de oproep volledig te verzenden, kunnen deze cijfers direct in kaart worden gebracht aan een uitgaande spraak-netwerk-dial-peer. Met DID geeft de router/gateway geen kiestoon aan de beller en verzamelt de tekens niet. Het zendt de oproep rechtstreeks naar de geconfigureerde bestemming. Dit heet eenfasig draaien.
De cijfers die nodig zijn om de oproepen die we in de bovenstaande paragrafen hebben besproken, te sturen zijn van de volgende twee typen:
Digital Number Identification Service (DNIS) is een door telecommunicatie geleverde digitale dienst die het opgeroepen nummer (het nummer dat wordt geselecteerd) levert.
Automatic Number Identification (ANI) is een door u verstrekte digitale service die het oproepnummer (het nummer van de oproepmaker) levert. ANI wordt ook CLID (CLID) genoemd.
Wanneer het ontvangen van een inkomende vraag van een vlakke oude interface van de telefoondienst (POTS), stelt de eigenschap DID in kiespeers de router/gateway in staat om het genoemde aantal (DNIS) te gebruiken om direct een uitgaande wijzerplaat van een peer aan te passen. Wanneer DID op de inkomende vraagPoS kiespeer wordt ingesteld, wordt het opgeroepen nummer automatisch gebruikt om het bestemmingspatroon voor de uitgaande aanroep aan te passen.
Om een peer van de POTS wijzerplaat voor DID te vormen, voer de volgende Cisco IOS opdrachten in die in globale configuratiewijze beginnen:
Router(config)#dial-peer voice number pots
Router(config-dial-peer)#direct-inward-dial
Zorg ervoor dat DID correct werkt, dat de inkomende vraag overeenkomt met de juiste POTS dial-peer waar de opdracht direct-inward-dial is geconfigureerd. Om de juiste binnenkomende wijzerplaat peer aan te passen, adviseren we het gebruik van de wijzerplaat peer opdracht inkomend geroepen aantal dnis_string onder de DID POTS kiespeer.
Andere opdrachten die worden gebruikt om kiespeers aan te passen, zijn onder meer: antwoordadres ani_string, bestemming-patroon string of poort voice-port. Het voordeel van het gebruiken van het inkomende geroepen aantal bevel is dat elk vraag de informatie DNIS (geroepen-nummer) heeft geassocieerd en het voorrang heeft boven de vorige opdrachten.
Als u de inkomende opdracht het aangeroepen nummer niet gebruikt om de inkomende wijzerplaat aan te passen, bedenk dan het volgende:
Als u ANI-informatie gebruikt om de DID POTS-dial-peer aan te passen, zorg er dan voor dat het opdracht antwoordadres correct is ingesteld en dat de telco-switch ANI-informatie verstrekt. Sommige ISDN-aanbieders en de meeste T1-kanaalgekoppelde signalering (CAS), behalve functiegroep D (fgd), bieden geen ANI-informatie.
Als het antwoordadres NIET overeenkomt met het ANI, dan is het ANI mogelijk gelijk aan het bestemmingspatroon dat is geconfigureerd (voor uitgaande draaien) onder een ander POTS-dial-peer. Als het bestemmingspatroon is afgestemd op ANI, zorg er dan voor dat de opdracht direct-naar-binnen-draaien onder dat dial-peer is ingesteld.
Als de inkomende DID vraag niet aan een inkomende POTS kies-peer op basis van inkomend geroepen aantal of antwoordadres of bestemming-patroon of poort wordt aangepast, dan zal de standaard dial-peer 0 worden gebruikt. DID is standaard uitgeschakeld aan dial-peers 0.
Gebruik het volgende voorbeeld om de bovenstaande punten te illustreren. ACME Company heeft T1 PRI-lijnen met 40 DID-stammen tussen 555-3100 en 555-3139. Het doel is de eerste 20 lijnen aan Cisco IP telefoons toe te wijzen. De laatste 20 lijnen zijn beschikbaar voor testen, toekomstige uitbreiding en voor nu geeft de router alleen kiestoon. Aangenomen dat de CO switch slechts de laatste vijf cijfers in het ISDN-instellingsbericht stuurt, kunnen we de bovenstaande informatie in de volgende tabel samenvatten.
Kiezen voor PSTN-gebruikers | Digitalen verzonden door Switch naar spraakrouter/gateway | Gebruik | # trunks |
---|---|---|---|
555-3100 tot 555-3119 | 53100 - 53119 | DID-lijnen voor IP-telefoons | 20 |
555-3120 tot 555-3139 | 53120 - 53139 | Testen en toekomstige uitbreiding | 20 |
Opmerking: Een deel van de output in dit voorbeeld wordt weggelaten.
dial-peer voice 2 pots destination-pattern 9T port 1/0:23 !--- This dial-peer is used mainly for outbound dialing with the !--- destination-pattern 9T mapped to port 1/0:23. Note that 9 is an !--- explicit match and will be stripped. Say a call comes from the CallManager !--- with a DNIS 914085551126, the router will send only 14085551126. If you add !--- the dial-peer command prefix 9 or the command forward-digit all then !--- the string 914085551126 is sent. Notice that dial-peer voice 2 pots is also !--- matched to give dial tone to incoming users dialing this range: !--- (53120 - 53139). dial-peer voice 3 pots !--This dial-peer can be matched inbound only incoming called-number 5310. !--DNIS range 53100-53109 direct-inward-dial !--If this dial-peer is matched inbound, the router is put in DID mode ! dial-peer voice 4 pots !--This dial-peer can be matched inbound only incoming called-number 5311. !--This takes care of the range 53110-53119 direct-inward-dial !--If this dial-peer is matched inbound router is put in DID mode ! dial-peer voice 5 voip !--For our case, this dial-peer is matched outbound only destination-pattern 53... !--When calls terminate on this router, dial-peer 5 can be matched inbound, too. session target ipv4:172.22.1.1 !--IP address of CallManager codec g711ulaw
Opmerking: Oorzaakcodes van verbroken verbinding hebben verschillende indelingen in de uitvoer van het debug isdn q931 in tegenstelling tot de opdracht debug voip ccapi inout.
Om de Q.931 vraag te interpreteren zou de verbinding verbroken oorzaakcodes van debug voip ccapi inout verwijzen naar: Probleemoplossing en debug van VoIP-oproepen - de basis
Om de Q.931 te interpreteren achter de verbinding maken van de oorzaakcodes van debug isdn verwijzen naar: De betekenis van debug van ISDN Q931 Oorzaak van verbroken verbinding
Om de Q.93100-oorzaakcodes in decimaal formaat te zien, raadpleegt u: ISDN-oorzaakcodes
Hieronder volgen enkele voorbeelden van symptomen en problemen die deze kunnen veroorzaken:
Symptoom: De router/gateway biedt kiestoon en wacht tot de timer tussen de cijfers uitvalt. Vervolgens wordt de verbinding verbroken met de debug voip ccapi oorzaakcode = 0x1C (ongeldige nummerindeling) of debug isdn q931 (voor ISDN-interfaces) verbroken verbinding-oorzaakcode = 0x809C (ongeldige nummerindeling).
Eenheid: DID wordt ingesteld op de telco-switch maar niet op de Cisco IOS-router/poort.
Symptoom: De router/gateway maakt de verbinding met de debug voip ccapi oorzaakcode = 0x1 (niet toegewezen/niet toegewezen nummer) of debug isdn q931 (voor ISDN interfaces) ontkoppelt oorzaakcode = 0x8081 (niet toegewezen/niet toegewezen nummer).
Eenheid: DID is ingesteld en de juiste inkomende POTS dial peer wordt afgestemd op de Cisco IOS router/gateway, maar het setup-bericht bevat geen aangeroepen nummer (DNIS). Controleer in dit geval met het telco of de romp voorzien is voor DID.
Symptoom: De router/gateway maakt de verbinding met de debug voip capi oorzaakcode = 0x1 (niet toegewezen/niet toegewezen nummer) of debug isdn q931 (voor ISDN interfaces) ontkoppelt oorzaakcode = 0x8081 (niet toegewezen/niet toegewezen nummer).
Eenheid: DID wordt ingesteld en afgestemd op de Cisco IOS router/gateway, maar er is geen uitgaande dial-peers-match op de router/poort.
Eenheid: Zorg ervoor dat het inkomende gesprek aanpast aan de juiste POTS wijzerplaat-peer waar de opdracht direct-inward-kies wordt gevormd. Raadpleeg voor meer informatie het gedeelte Overeenkomend met de Juiste inkomende POTS dial-peers voor DID van dit document
N.B.: Sommige van de volgende debug uitvoer worden voor afdrukken in meerdere regels verdeeld.
2600#debug isdn q931 ISDN Q931 packets debugging is on 2600#debug voip ccapi inout voip ccAPI function enter/exit debugging is on 2600#show debug ISDN: ISDN Q931 packets debugging is on ISDN Q931 packets debug DSLs. (On/Off/No DSL:1/0/-) DSL 0 --> 31 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - voip: voip ccAPI function enter/exit debugging is on !--- Action: Cisco IOS router/gateway receives a call from the PSTN to !--- extension "53103" *Mar 1 04:51:11.856: ISDN Se1/0:23: RX <- SETUP pd = 8 callref = 0x0001 *Mar 1 04:51:11.860: Bearer Capability i = 0x9090A2 *Mar 1 04:51:11.860: Channel ID i = 0xA98381 *Mar 1 04:51:11.864: Calling Party Number i = 0x0083, '408', Plan:Unknown, Type:Unknown *Mar 1 04:51:11.868: Called Party Number i = 0x80, '53103', Plan:Unknown, Type:Unknown !--- ISDN Q.931 and Voip ccapi inout debugs collectively show a DNIS of 53103 and !--- an ANI (Automatic Number Identification) of 408 sent in unknown plan and type. *Mar 1 04:51:11.880: cc_api_call_setup_ind (vdbPtr=0x831721D8, callInfo= {called=53103,called_oct3=0x80,calling=408,calling_oct3=0x0, calling_oct3a=0x83, calling_xlated=false,subscriber_type_str=RegularLine, fdest=1,peer_tag=3, prog_ind=0},callID=0x83349DF8) *Mar 1 04:51:11.884: cc_API_call_setup_ind type 13 , prot 0 *Mar 1 04:51:11.888: cc_process_call_setup_ind (event=0x83149130) *Mar 1 04:51:11.888: >>>>CCAPI handed cid 41 with tag 3 to app "DEFAULT" !--- POTS dial-peer 3 was matched inbound *Mar 1 04:51:11.888: sess_appl: ev(24=CC_EV_CALL_SETUP_IND), cid(41), disp(0) *Mar 1 04:51:11.888: sess_appl: ev(SSA_EV_CALL_SETUP_IND), cid(41), disp(0) *Mar 1 04:51:11.888: ssaCallSetupInd *Mar 1 04:51:11.892: ccCallSetContext (callID=0x29, context=0x83303C00) !--- The POTS leg is created and assigned a callid of 0x29 *Mar 1 04:51:11.892: ssaCallSetupInd cid(41), st(SSA_CS_MAPPING),oldst(0), ev(24)ev->e.evCallSetupInd.nCallInfo.finalDestFlag = 1 *Mar 1 04:51:11.892: ssaCallSetupInd finalDest cllng(408), clled(53103) !--- Due to the direct-inward-dial config under dial-peer 3, the DNIS sent in !--- the setup request is considered sufficient to match an outbound dial-peer. !--- This is clear with flag set to 1. *Mar 1 04:51:11.892: ssaCallSetupInd cid(41), st(SSA_CS_CALL_SETTING),oldst(0), ev(24)dpMatchPeersMoreArg result= 0 *Mar 1 04:51:11.892: ssaSetupPeer cid(41) peer list: tag(5) called number (53103) !--- Dial-peer table lists only dial-peer 5 as matched outbound against the DNIS. *Mar 1 04:51:11.892: ssaSetupPeer cid(41), destPat(53103), matched(2), prefix(), peer(83369DB8), peer->encapType (2) !--- Due to destination-pattern having 2 digits and 3 dots, explicit match is !--- reported as 2. *Mar 1 04:51:11.896: ccCallProceeding (callID=0x29, prog_ind=0x0) *Mar 1 04:51:11.896: ccCallSetupRequest (Inbound call = 0x29, outbound peer =5, dest=, params=0x831578C0 mode=0, *callID=0x83157C28, prog_ind = 0) *Mar 1 04:51:11.896: ccCallSetupRequest numbering_type 0x80 *Mar 1 04:51:11.896: dest pattern 53..., called 53103, digit_strip 0 *Mar 1 04:51:11.896: callingNumber=408, calledNumber=53103, redirectNumber= display_info= calling_oct3a=83 !--- Just before matching an outbound dial-peer, we remember that we have !--- seen the same ANI and DNIS in the ISDN setup and in the ccapi debug initially. !--- In other words, the router did not collect additional digits after the seizure. !--- Equal value of DNIS at setup request and before matching an outbound !--- dial-peer is the whole purpose of DID *Mar 1 04:51:11.896: accountNumber=, finalDestFlag=1, guid=c66d.980c.17a8.0051.0000.0000.010a.998a *Mar 1 04:51:11.896: peer_tag=5 *Mar 1 04:51:11.896: ccIFCallSetupRequestPrivate: (vdbPtr=0x824C6344, dest=, callParams={called=53103,called_oct3=0x80, calling=408,calling_oct3=0x0, calling_xlated=false,subscriber_type_str=RegularLine, fdest=1, voice_peer_tag=5},mode=0x0) vdbPtr type = 3 *Mar 1 04:51:11.900: ccIFCallSetupRequestPrivate: (vdbPtr=0x824C6344, dest=, callParams={called=53103, called_oct3 0x80, calling=408,calling_oct3 0x0, calling_xlated=false, fdest=1, voice_peer_tag=5}, mode=0x0, xltrc=-5) *Mar 1 04:51:11.900: ccSaveDialpeerTag (callID=0x29, dialpeer_tag= *Mar 1 04:51:11.900: ccCallSetContext (callID=0x2A, context=0x8330408C) *Mar 1 04:51:11.900: ccCallReportDigits (callID=0x29, enable=0x0) *Mar 1 04:51:11.904: cc_API_call_report_digits_done (vdbPtr=0x831721D8, callID=0x29, disp=0) *Mar 1 04:51:11.904: sess_appl: ev(52=CC_EV_CALL_REPORT_DIGITS_DONE), cid(41), disp(0) *Mar 1 04:51:11.904: cid(41)st(SSA_CS_CALL_SETTING)ev (SSA_EV_CALL_REPORT_DIGITS_DONE) oldst(SSA_CS_MAPPING)cfid(-1)csize(0)in(1)fDest(1) . !--- Output Omitted . !--- The following output displays the Call is finished *Mar 1 04:51:52.442: ISDN Se1/0:23: RX <- DISCONNECT pd = 8 callref = 0x0001 *Mar 1 04:51:52.442: Cause i = 0x8290 - Normal call clearing *Mar 1 04:51:52.458: ISDN Se1/0:23: TX -> RELEASE pd = 8 callref = 0x8001 *Mar 1 04:51:52.458: cc_API_call_disconnected(vdbPtr=0x831721D8, callID=0x29, cause=0x10) *Mar 1 04:51:52.462: sess_appl: ev(11=CC_EV_CALL_DISCONNECTED), cid(41), disp(0) *Mar 1 04:51:52.462: cid(41)st(SSA_CS_ACTIVE)ev(SSA_EV_CALL_DISCONNECTED) oldst(SSA_CS_ACTIVE)cfid(9)csize(2)in(1)fDest(1) *Mar 1 04:51:52.462: -cid2(42)st2(SSA_CS_ACTIVE)oldst2(SSA_CS_ALERT_RCVD) *Mar 1 04:51:52.462: ssa: Disconnected cid(41) state(5) cause(0x10) *Mar 1 04:51:52.462: ccConferenceDestroy (confID=0x9, tag=0x0) *Mar 1 04:51:52.462: cc_API_bridge_drop_done (confID=0x9, srcIF=0x824C6344, srcCallID=0x2A, dstCallID=0x29, disposition=0 tag=0x0) *Mar 1 04:51:52.466: cc_API_bridge_drop_done (confID=0x9, srcIF=0x831721D8, srcCallID=0x29, dstCallID=0x2A, disposition=0 tag=0x0) *Mar 1 04:51:52.466: sess_appl: ev(30=CC_EV_CONF_DESTROY_DONE), cid(41), disp(0) *Mar 1 04:51:52.470: cid(41)st(SSA_CS_CONF_DESTROYING)ev(SSA_EV_CONF_DESTROY_DONE) oldst(SSA_CS_ACTIVE)cfid(-1)csize(2)in(1)fDest(1) *Mar 1 04:51:52.470: -cid2(42)st2(SSA_CS_CONF_DESTROYING)oldst2(SSA_CS_ALERT_RCVD) *Mar 1 04:51:52.470: ssaConfDestroyDone *Mar 1 04:51:52.470: ccCallDisconnect (callID=0x29, cause=0x10 tag=0x0) *Mar 1 04:51:52.470: ccCallDisconnect (callID=0x2A, cause=0x10 tag=0x0) !--- These two lines are great for finding the source of the disconnect. !--- They tell us that the first call leg with callid 0x29 (POTS call leg) !--- disconnected with cause code 0x10. So either the end POTS user hung up or the !--- telephony equipment disconnected unintentionally. From the router's point of !--- view, both are the same. *Mar 1 04:51:52.470: ISDN Se1/0:23: RX <- RELEASE_COMP pd = 8 callref = 0x0001 *Mar 1 04:51:52.499: cc_API_call_disconnect_done(vdbPtr=0x831721D8, callID=0x29, disp=0, tag=0x0) !--- Debug truncated here 2600#show call active voice brief !--- This show command is good to verify which are the dial-peers matched by the !--- call. In the example below, the output show the POTS call-leg matched !--- dial-peer voice 3 pots (pid:3) the VoIP call-leg matched !--- dial-peer voice 5 voip (pid:5). !--- some output omitted Total call-legs: 2 3A : 799622hs.1 +112 pid:3 Answer 408 active dur 00:00:07 tx:385/61600 rx:160/23690 Tele 1/0:23:33: TX:7730/3060/0ms g711ulaw noise:-42 acom:0 i/0:-43/-53 dBm 3A : 799625hs.1 +106 pid:5 Originate 53103 active dur 00:00:07 TX:160/23690 rx:385/61600 IP 171.68.168.250:25704 rtt:0ms pl:4980/0ms lost:0/0/0 delay:64/64/65ms g711ulaw