Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Es Voip4d It46 Release Web
Es Voip4d It46 Release Web
Unaguaparacrearunainfraestructuradevoz enregionesendesarrollo
Autores:
AlbertoEscuderoPascual LouiseBerthilson
VoIPparaeldesarrollo Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
TabladeAbreviaturas Abreviatura ATA DECT FXO FXS GSM IAX(2) IETF ITU/UIT IVR NAT PBX(PABX) PCM/MIC PSTN/RTB(C) QoS RFC RTP SCCP SIP SS7 TA/ATA UDP VoIP VSAT Descripcin AdaptadorTelefnicoAnalgico ComunicacinDigitalInalmbricaMejorada DigitalEnhancedCordlessTelecommunications ForeignExchangeOffice ForeignExchangeStation SistemaGlobalparaComunicacionesMviles GlobalSystemforMobilecommunication ProtocolodeIntercambiodeAsterisk(versin2) GrupodeTrabajodeIngenieradelaInternet InternetEngineeringTaskForce UninInternacionaldeTelecomunicaciones InternationalTelecommunicationsUnion RespuestadeVozInteractivaRespuestaVocalInteractiva InteractiveVoiceResponse TraductordeDireccionesdeRed NetworkAddressTranslator CentralitaTelefnica(Automtica)Privada Private(Automatic)BranchExchange ModulacinporImpulsosCodificados PulseCodeModulation ReddeTelefonaBsica(Conmutada) PublicSwitchedTelephoneNetwork CalidaddeServicio QualityofService DocumentodeTrabajodeEstandarizacin(Internet) RequestForComment ProtocolodeTiempoReal RealtimeTransportProtocol ProtocolodeControldeLlamadasSkinny SkinnyCallControlProtocol ProtocolodeSealizacindeSesin(es) SessionInitiationProtocol SistemadeSealizacin(versin)7 SignallingSystem7 AdaptadorTelefnico TelephoneAdapter UserDataProtocol VozsobreIP.TelefonaIP TerminaldePequeaApertura(ComunicacionesporSatlite) VerySmallApertureTerminal
VoIPparaeldesarrollo Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
Descripcindelasilustraciones
VoIPparaeldesarrollo Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
Tabla de Contenidos
1.Introduccin.....................................................................................................................................................1 2.Lapocinmgica.............................................................................................................................................2 2.1VoIP............................................................................................................................................................2 2.2EstndaresAbiertosyCdigoLibre...........................................................................................................3 2.3Asterisk.......................................................................................................................................................5 3.Lareceta..........................................................................................................................................................5 3.1PBX............................................................................................................................................................5 3.2PSTNRTB...............................................................................................................................................6 3.3Sealizacinentelefonatradicional...........................................................................................................7 3.3.1Sealizacinanalgica..........................................................................................................................7 3.3.2Sealizacinentrecentralestelefnicas................................................................................................8 3.4SealizacinentelefonaIP........................................................................................................................8 3.4.1SessionInitiationProtocol(SIP)..........................................................................................................8 3.4.2ServidoresProxy..................................................................................................................................9 3.4.3ProtocolosentiemporealyelNAT...................................................................................................9 3.4.4InterAsteriskeXchange(IAX)...........................................................................................................10 3.5EquipamientoparaVoIP..........................................................................................................................11 3.5.1TelfonosVoIP...................................................................................................................................11 3.5.2TelefonaconSoftwareSoftPhones...............................................................................................11 3.5.3TarjetasdeinterfazalaRTB.............................................................................................................11 3.5.4AdaptadorparaTelfonosAnalgicos(ATA).....................................................................................12 3.6Codecs.......................................................................................................................................................13 3.7CalidaddeServicio...................................................................................................................................13 3.7.1Latencia..............................................................................................................................................13 3.7.2JitterFluctuacionesdevelocidad....................................................................................................14 4.PuestaenprcticaCreandotupropiaPBX................................................................................................15 4.1Quesloquenecesito?...........................................................................................................................15 4.1.1Consejosdeinstalacin.......................................................................................................................15 5.InstalandoAsterisk.........................................................................................................................................16 5.1CompilandoAsterisk.................................................................................................................................17 5.2DescargandoAsterisk................................................................................................................................18 5.3rdenesBsicasenAsterisk.....................................................................................................................18 5.4Ficherosdeconfiguracin..........................................................................................................................19 5.5Peers,UsersyFriends...............................................................................................................................20 6.ESCENARIOA Redtelefnicaprivadaenunacomunidadrural..............................................................................................22 6.1Antecedentes.............................................................................................................................................22 6.2ConfigurandolosclientesVoIP.................................................................................................................22 6.2.1BibliotecaComunitaria.......................................................................................................................22 6.2.2HospitalRegional...............................................................................................................................23 6.2.3EscuelaPrimaria................................................................................................................................24 6.2.4Asociacindeagricultores..................................................................................................................25 6.3ConfigurandoAsterisk.............................................................................................................................27 7.ESCENARIOB ConectandolaRTB.........................................................................................................................................29 7.1IncluirelsoporteparalatarjetaTDM400P.............................................................................................29 7.1.1GestindellamadasentrantesdesdelaRTB.....................................................................................31 7.1.2GestindellamadassalientesporlaRTB..........................................................................................31 7.2AadiendounterminalanalgicoalaPBX.............................................................................................32 7.3Actualizacindelplandemarcado...........................................................................................................33 8.ESCENARIOC ConectandocomunidadesusandoVoIP.........................................................................................................34
VoIPparaeldesarrollo Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 1.Introduccin
1.Introduccin
Nofuehastalaprimaveradelao2004cuandodescubrunprogramalibre*queeracapazde hacerexactamenteloquenecesitaba.PoraqueltiempovivaenTanzaniaytuvequesufrir,no slo que la lnea telefnica era inestable, sino que, adems, las tarifas telefnicas eran totalmentedesorbitantes.TanprontocomoconseguunaccesoalaInternetempecausaruna deesasaplicaciones,tanpropietariacomoconocida,parahacermisllamadasaEuropa.Pronto me di cuenta que el programa no me daba la flexibilidad que yo quera porque lo que realmentenecesitabaerapoderhacerllamadasatravsdemilnea telefnicaenSueciay poderofreceresaconexindevozamisvecinos. LaideadeusarlaInternetcomosifueraunaredtelefnicanoeranueva,peroelproyectoque medabatodaesaflexibilidadera,desdeluego,revolucionario.Elprogramaquepermitaque micomputadoraseconvirtieraenunacentralitatelefnicasellamabaAsterisk.1Nonecesit demasiadotiempoparadescubrirqueAsteriskeracapazdehacermuchomsdeloquenunca me pude imaginar. Mientras lo exploraba me daba cuenta del mundo de posibilidades y oportunidadesqueofreca,especialmenteenlasregionesendesarrollo.Lasensacindeaquel momentoeramuyparecidaalademiprimeraconexinalaWorldWideWeben1994. SinningngnerodedudasaprenderaponerenmarchaunsistemaconAsteriskfueunatarea que requirigran perseverancia (s,algunos me llaman obcecado).Empec a escribirestas lneasdeintroduccinalavozIPporque,aunqueyaexistenalgunoslibrosmuybuenossobre eltema,noheencontradoundocumentoquedescribalosconceptosmsbsicosenpalabras quelamayoradelosmortalespuedanentender.Estaguapretendedescribirtelosconceptos esencialesdelatelefonasobreIPydarteunosejemplosconcretosdesupotencialidad en regionesendesarrollo.Comoelretoalescribirestedocumentoeracrearundocumentobreve sinpecardesimplismo,unagranpartedelesfuerzo hasidointentarserlomspedaggico posible. Tenpaciencia.Lapersistenciaeslaclavedelaprendizajedeunautodidacta. Antesdedescribircmopuedescreartupropiosistemadetelefona,introducimosloconceptos bsicosdetelefonasobreInternet(Secciones2y3).Dedcaletiempoaleerestasdossecciones alargoplazo,entenderlosconceptosesmuchomsimportantequeinstalarunprogramau otro. Lasdossiguientesseccionesestndedicadasaaquellosquequieranponerlateoraenprctica: montartupropiacentralita(Seccin4)einstalandoyconfigurandolosprogramas(Seccin5). En lugar de listar todas las rdenes y configuraciones posibles, hemos seleccionado tres escenariosprcticoscomoejemplosilustrativos.Recuerdaqueelobjetivodeestedocumentoes ayudarteentusprimerospasos.Lostresescenariosquehemoselegidoson:
Telefonaprivadaenunacomunidadrural(Seccin6) ConectandounaredlocaltelefnicaalaRTB(Seccin7)
1. AsteriskesunproyectodecdigolibrebasadoenlasideasdelProyectodeTelefonaZapata http://www.asteriskdocs.org/modules/tinycontent/index.php?id=10
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 1.Introduccin
Interconectandodoscomunidadesremotas(Seccin8)
Paraterminarhemosincluidoalgunasreferenciastilesaalgunosrecursosqueteayudarna aprenderms(Seccin9).
2.Lapocinmgica
Tres son loselementos que tepermitirndesplegaruna infraestructurade telefona: VoIP, estndaresabiertosylosprogramaslibresyabiertos.
2.1VoIP
UnadefinicingeneraldeVozsobreIP(tambinconocidacomotelefonaIP)eslaposibilidad detransportarconversacionestelefnicasenpaquetesIP.CuandohablamosdeVoIP, nos referimosalatelefonaenInternetenelsentidomsampliodelaexpresin.EltrminoVoIP noserefiereaningunodelosmecanismosconcretosqueexistenparallevarlassealesdevoz deunsitioaotroenlared.Existendocenasdetecnologasquepermitenhablarporlared. LasalternativastecnolgicasdeVoIPsepuedendividirdeunamanerasencillaendosgrandes grupos:tecnologascerradaspropietariasysistemasabiertos.Enelprimergrupodetecnologas nos encontramos con el conocido Skype o el ya legendario Cisco Skinny (SCCP).2 En el segundogrupodetecnologasnosencontramosconlosestndaresabiertosbasadosenSIP,3 H.3234oIAX.5 H.323esunprotocolodesarrolladoporlaUITquecobrciertafamaporqueeraelmsusado porlosgrandesoperadoresensusredestroncales.SIPhaincrementadosupopularidadcuando lastecnologasdeVoIPsehanhechomspresentesenelbuclelocal.6 ltimamentehemos presenciadoelnacimientoyelfuertecrecimientodeunanuevaalternativaconocidacomoIAX. IAX2(porserlaversin2)estfuertementeinfluidoporelmodelocomunitariodedesarrollo abiertoytienelaventajadehaberaprendidodeloserroresdesuspredecesores.IAX2resuelve muchosdelosproblemasylimitacionesdeH.323ySIP.AunqueIAX2noesunestndarenel sentidomsoficialdelapalabra(RFC),7noslotieneelgranreconocimientodelacomunidad sinotodoslosprerequisitosparaconvertirseenelremplazo(defacto)deSIP. UnadelascaractersticasesencialesdetodoslosprotocolostradicionalesdevozsobreIPesel derrochedeanchodebanda.Eseexcesodebitsenlaredesdebidoalanecesidaddeenviar
2. Skinnyesunprotocolodecontrolparaterminales.OriginalmentedesarrolladoporSelsiusCorporationyahora bajoelcontrolydiseodeCiscoSystems,Inc.UnodelosclientesmsfamososdeSkinnyeslaserieCisco7900 detelfonosIP. 3. Elprotocolodeiniciodesesin(SIP)eselresultadodeltrabajodelIETFydefineelmanejodesesionesentre unoomsparticipantes. 4. H.323esunconjuntoderecomendacionesdelaUITTquedefineungrupodeprotocolosparaofrecersesiones audiovisualesenunaredconmutadadepaquetes.ElH.323seusaenelfamosoprogramaNetmeeting. 5. IAX2esunprotocolodecomunicacindevozIPqueseusaenAsterisk,unacentralitadecdigoabiertoylibre. IAX2permiteconexionesentreservidoresAsteriskyclientesIAX2. 6. Elbuclederealocalesunenlacefsicoqueconectaalclienteconlaterminacindelareddetelefonadel proveedordeserviciosdetelecomunicaciones. 7. ElRequestforComments(RFC)(encastellano:solicituddecomentarios)esunaseriededocumentosnumerados einformalesquebuscanconstruirconsensosenfavordelaestandarizacindeprotocolosyserviciosparala Internet.
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 2.Lapocinmgica
informacinadicionalencadaunadelascabecerasdelospaquetesIP.Esteproblematiene especialimportanciaenregionesendesarrollodondeelaccesoaanchodebandaeslimitadoy loscostesdeconexinaInternetpuedenllegaraserhasta100vecesmayorqueenEuropao Norteamrica.8 Paraquetehagasunaideadelgastoadicionaldeanchodebandanecesarioparaenviarvoz sobreInternetpodemoscitarcomoejemploqueunaudiocomprimidode5.6kbit/segnecesita dehasta18kbit/seg.Ladiferenciaentrelos5.6ylos18kbit/segsonesosbitsenlascabeceras de los paquetes. Las cabeceras son toda esa informacin adicional que es necesaria para encaminarcorrectamentecadaunodelospaquetesdevozalreceptor.Unadelasventajasde IAX2 es que ha sido capaz de reducir considerablemente ese exceso de bits por paquete. Adems,escapazdeagruparlospaquetesdedistintasconversaciones,quevanenunamisma direccin en la red, en uno slo. Al ser capaz de agregar mltiples paquetes de distintas conversacionesdentrodeunoslo,elexcesodeinformacinintroducidoporlascabecerasse reduceencadaunadelasconversaciones. Comoresultadodelaspruebasrealizadasdurantelaelaboracindeestagua(usandouna conexintelefnicaalared),evidenciamoslasventajasdeutilizarIAX2frentealamisma conversacinusandoSIP.9
2.2EstndaresAbiertosyCdigoLibre
Nopodramosestarhablandodelalibertaddeconstruirnuestrapropiaredtelefnicasinla existenciadelosestndaresabiertosyelcdigolibre.Losestndaresabiertospermitenque cualquierapuedaimplementarunsistemacongarantasdeinteroperabilidad.Graciasaesa interoperabilidad denuestro diseo noslo podemos crearnuestra red telefnicasino que, adems,podemosconectarlaalaredtelefnicaglobal.Conelcdigolibrepodemosaprender deexperienciasparecidas,integrarsussolucionesycompartirnuestrospropiosresultadoscon losdems. Unadelaprimeraspreguntasquemereceunarespuestaes:porqudeberascreartupropia infraestructuradevozsobreIPynoseguirusandoserviciosgratuitoscomoSkype? La respuesta es simple: sostenibilidad y flexibilidad. Los servicios gratuitos te pueden solucionarunanecesidadacortoplazoperonuncagarantizartuindependenciaoelcontrolde tupropioprocesodeaprendizajeydesarrollo.Nosetratadeunacuestinpuramentetcnica. Elproblemanoesdecidirculeslamejordelastecnologassinoculeslaquepermitequelas comunidades sean dueas de su propio desarrollo y que puedan adaptarla a sus propias necesidades. Es muy difcil imaginar un desarrollo sostenible sin transferencia de conocimiento y reapropiamientotecnolgico.Unasolucinbasadaenestndaresabiertosycdigolibrenoes
8. 1MbpsenelEstedefricacuestamsde1000USD/mesmientrasquelamismacapacidadenSueciacuesta menosde10USD/mes. 9. UnaconversacindevozIPusandouncodeccomoelG.729(8Kbps)requiereunos30KbpsusandoSIPytan slo24KbpsconIAX2.Siagregamoscincollamadassimultneascadallamadasereducea13Kbps.
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 2.Lapocinmgica
slounabuenasolucindesdeunpuntodevistapuramentetcnicosinoqueademspermite laposibilidaddeadaptacinparamejorarsealarealidadlocal. Paraserconscientesdelaimportanciadelosestndaresabiertosquizsseabuenoempezar presentandounadefinicindeestndar.Unestndaresunconjuntodereglas,condicioneso requerimientos que describen materiales, productos, sistemas, servicios o prcticas. En telefona,losestndaresgarantizanquetodaslascentralesdetelefonaseancapacesdeoperar entre s. Sin ese conjunto de reglas comunes un sistema de telefona de una regin sera incapaz de intercambiar llamadas con otro que est, tan slo, unos kilmetros ms all. Aunquemuchosdelosestndaresdetelefonasonpblicos,lossistemassiemprehanestado bajoelcontroldeungrupomuylimitadodefabricantes.Losgrandesfabricantesdesistemas detelefonasonlosnicoscapacesdenegociarcontratosanivelregionaloinclusonacional. staeslaraznquepuedeexplicarporquesmuycomnencontrarsiempreelmismotipode equiposalolargodeunmismopas. Losequiposdetelefonatradicionales,adems,tienenlaparticularidaddehabersidodiseados pararealizarunconjuntodetareasmuyconcretas.Normalmente,sonequiposinformticoscon aplicacionesmuyespecficas.Aunquelasreglasquegobiernanlatelefona(losestndares)son relativamente abiertas, no es el caso de los equipos informticos que los implementan. Al contrariodelosestndares,elfuncionamientointernosiempresemantieneensecreto.
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 2.Lapocinmgica
Dentro de la pocin mgica de la telefona los estndares abiertos son un ingrediente necesario,peroloquerealmentehapermitidoestanuevarevolucinhasidolaposibilidadde emularlafuncionalidaddelossistemasdetelefonatradicionalesconunprogramafuncionando enunordenadorpersonal.Todosloselementosnecesariosestnatualcance: tienes el acceso a los programas y a los equipos que permiten el intercambio de conversacionestelefnicas. tienesunaredabiertaypblicaparaintercambiaresasllamadas(laInternet). tieneslaposibilidaddemodificarcadaunodeloselementosparaadaptarlosatus propiasnecesidades.
2.3Asterisk
Asteriskesunaimplementacinlibredeunacentralitatelefnica.Elprogramapermitetanto quelostelfonosconectadosalacentralitapuedanhacerllamadasentreelloscomoservirde pasarelaalaredtelefnicatradicional.Elcdigodelprogramafueoriginalmentecreadopor MarkSpencer(Digium)basadoenlasideasyeltrabajopreviodeJimDixon(proyectode telefona Zapata). El programa, sus mejoras y correcciones, es el resultado del trabajo colectivodelacomunidaddelsoftware(programas)libre.AunqueAsteriskpuedefuncionaren muchossistemasoperativos,GNU/Linuxeslaplataformamsestableyenlaqueexisteun mayorsoporte. ParausarAsteriskslosenecesitaunordenadorpersonal(PC),perosiquieresconectarteala redtelefnicatradicionaldebesaadirelcorrespondienteperifricodedicado.
3.Lareceta
EstaseccinresumelosconceptosprincipalesdeVoIP.Entendercadaunolosconceptosteva a ser muy til cuando configures cualquier tipo de programa relacionado con telefona IP. AunqueVoIPesunareaenormedeconocimiento,hemosseleccionadocuidadosamenteun nmerodeconceptosesenciales.Estaseccinincluyeunadescripcin,bsicaperoslida,delo quenecesitassaberparadartusprimerospasosenlacreacindeunsistemadetelefona.
3.1PBX
EltrminoPBXoPABXesunadeesassiglasquedicenbastantepoco.PBXsonlasprimeras letrasdeltrminoinglsPrivate(Automatic)BranchExchange.Enpalabrassimples,eluso ms comn de unaPBX es compartirde unaa varias lneastelefnicasconun grupo de usuarios.UnaPBXseemplazaentrelaslneastelefnicasylostelfonos(terminalesdevoz). LaPBXtienelapropiedaddesercapazderedirigirlasllamadasentrantesauno o varios telfonos.Deunamanerasimilar,unaPBXpermiteauntelfonoescogerunadelas lneas telefnicas para realizar una llamada telefnica al exterior. De la misma forma que un enrutador(router)enInternetesresponsablededirigirlospaquetesdeunorigenasudestino, unaPBXesresponsablededirigirllamadastelefnicas.
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 3.Lareceta
LapalabraprivateenlasiglaPBXsignificaqueeldueodelsistematienetodoelcontroly decidecomocompartirloslneasexterioresconlosusuarios. UnaPBXnoslopermitecompartirunconjuntodelneasconungrupodeusuariossinoque tambin ofrece la posibilidad de crear servicios de valor aadido como transferencia de llamadas,llamadasatres,10pasareladevozacorreo11oserviciosbasadosenunarespuestade vozinteractiva(IVR)12,etc. UnaPBXpuedeserdegranutilidadenmltiplesescenarios.Piensaenlasregionesdondeel accesoalaredtelefnicaimplicacaminarvariashoras(sinodas)aunacabinaoTelecentro. Adems,unasituacinmuycomnesquesloexistaunalneatelefnicaporedificioopor poblacin. UnaPBX(tucentralita)permitircompartiresalneaeinclusoextenderlared telefnicaalugaresremotos.
3.2PSTNRTB
PSTNeslaRedPblicaTelefnicaConmutada(PublicSwitchedTelephoneNetwork),lared de redes telefnicas o ms conocida como la red telefnica. En castellano la PSTN es conocidacomolaredpblicaconmutada(RTC)oredtelefnicabsica(RTB).Delamisma formaqueInterneteslaredglobalIP,laRTBeslaamalgamadetodaslasredesconmutadas detelfono.UnadiferenciamuyimportanteentrelaRTBeInterneteslanocindeflujode informacin. En telefona los flujos de informacin son cada una de las llamadas o conversacionesmientrasqueenInternetescadaunodelospaquetesdedatos.Desdeelpunto de vista conceptual la RTB e Internet son muy diferentes y representan dos mundos y filosofascasiantagnicas.SiunaconversacinseefectaenunaRTBsetienequereservarun canal(circuito)dedicadode64Kbps,peroenInternetlamismaconversacinpuedecoexistir conotrosserviciosdemanerasimultnea.Aunqueestadiferenciapuedaparecerirrelevantea primeravista,tienegrandesimplicacionesdecaraalaimplementacindelastecnologasdela informacin tantoen regionesdesarrolladascomoendesarrollo.Enelmodelotradicional,un cable de cobre proporciona acceso a la RTB y ofrece un slo tipo de servicio: un canal analgico.Siesemismocableseusaparaconectarseaunaredconmutadadepaquetescomo Internet,sepuedeimplementarcualquiertipodeserviciobasadoenelprotocoloIP. LaRTBhaestadohistricamentegobernadaporestndares creadosporlaUIT, 13 mientras queInternetesgobernadaporlosestndaresdelIETF.14Ambasredes,laRTBeInternetusan direcciones para encaminar sus flujos de informacin. En la primera se usan nmeros
10. Llamadaatreseslaposibilidaddeteneramsdedospersonashablandosimultneamenteenlamisma conversacin. 11. Unapasareladevozaemailpermitegrabarunmensajedevozenunadjuntodecorreoelectrnico(comosifuera uncontestadorautomtico).Elmensajesegrabaenunficherodeaudioyseenvaaunacuentadecorreo. 12. Unsistemadevozinteractivo(InteractiveVoiceResponse)permiteseleccionarunaopcindeunmenatravs delavozodeltecladodelterminal. 13. LaITUoUITencastellanoeslaUninInternacionaldeTelecomunicaciones,unaorganizacininternacional responsabledeestandarizacin,gestindelradioespectroydelaorganizacindeacuerdosdeinterconexinentre pasesquepermitanelintercambiodellamadasinternacionales.LaUITespartedelaONUytieneuna estructurademiembrosformal. 14. ElIETF(InternetEngineeringTaskForce)esunconjuntodegruposdetrabajoresponsablesdeestandarizacin deInternet.Laorganizacinesabierta,formadaporvoluntariosysinningnrequerimientoformalparaser miembro.
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 3.Lareceta
telefnicosparaconmutarllamadasenlascentralestelefnicas,enInternetseusandirecciones IPparaconmutarpaquetesentrelosenrutadores(routers).
3.3Sealizacinentelefonatradicional
LascentralestelefnicassonlosroutersdelaRTB.UnForeignExchangeOffice(FXO)es cualquier dispositivo que, desde el punto de vista de la central telefnica, acta como un telfonotradicional.UnFXOdebesercapazdeaceptarsealesdellamadaoring,ponerseen estadodecolgadoodescolgado,yenviaryrecibirsealesdevoz.AsumequeunFXOescomo untelfonoocualquierotrodispositivoquesuena(comounamquinadefaxounmdem). UnForeignExchangeStation(FXS)esloqueestsituadoalotroladodeunalneatelefnica tradicional(laestacin).UnFXSenvaeltonodemarcado,lasealdellamadaquehacesonar lostelfonosylosalimenta.Enlneasanalgicas,unFXSalimenta alFXO.ElFXSutiliza alrededor de 48 voltios DC para alimentar al telfono durante la conversacin y hasta 80 voltiosAC(20Hz)cuandogeneraeltonodellamada(ring). Una PBX que integra perifricos FXO y FXS puede conectarse a la RTB y incorporar telfonosanalgicos.Laslneastelefnicasquevienendeloperadorsetienenqueconectara unainterfazFXO.LostelfonossedebenconectaralasinterfacesFXSdelacentralita. Enresumen,dosreglasfcilesquedebesrecordarson: 1. 2. UnFXSnecesitaestarconectadoaunFXO(comounalneatelefnicanecesitaestar conectadaauntelfono)oviceversa. UnFXSsuministraenerga(elementoactivo)auntelfonoFXO(elementopasivo)
3.3.1Sealizacinanalgica
Cadavezqueusasunalneatelefnicaseintercambianunconjuntodeseales.Lasseales sirvenparaofrecerinformacindelestadodelallamadaalusuario.Algunasdeesasseales soneltonodemarcadooeltonodelneaocupada.EstassealessetransmitenentreelFXSy elFXOhaciendousodeunprotocoloconocidocomosealizacin.
7
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 3.Lareceta
Por desgracia, existen muchas maneras de generar este tipo de seales. Cada uno de los mecanismos es conocido como mtodo de sealizacin. Los mtodos de sealizacin son diferentesdeunlugaraotro,asquedebesconocerdeantemanoelmtododesealizacinque seusaentuslneastelefnicas.Dosdelosmtodosdesealizacinmsconocidossonelloop start y el ground start. Si desconoces el mtodo de sealizacin que debes usar puedes empezarprobandoconloopstart.UnaconsecuenciadeconfigurartuPBXconunmtodode sealizacinequivocadoesquelalneatelefnicasecuelgademanerainesperada.
3.3.2Sealizacinentrecentralestelefnicas
SS7esungrupodeestndaresdesarrolladosoriginalmenteporlaAT&TylaUITque,entre otrascosas,seencargandelagestindelestablecimientodellamadasysuencaminamiento entrecentralestelefnicasenlaRTB.Unacosamuyimportantequedebesentenderesqueen la red telefnica tradicional, la voz y las seales auxiliares (sealizacin) estn claramente separadas.Estosignificaqueexisteuncircuitodedicadoavozyotrocircuitoindependiente para el intercambio de las seales encargadas del establecimiento de las llamadas. Esta informacinadicionalnecesariaencadallamadaseintercambiausandounprotocoloconocido comoSS7. Elhechodequelavozylasealizacinestnseparadassignificaquelosflujosdeinformacin puedentomarcaminosfsicostotalmentediferentes.Imagnatequelasconversacionespueden viajarporuncablemientrasquelosnmerosdetelfonodeloscomunicantesseenvanpor otro.Esteconceptoesimportanteparaentenderlasiguienteseccin:sealizacinentelefona IP.
3.4SealizacinentelefonaIP
Porherenciahistrica,lasealizacinenvozsobreIPsigueunosprincipiosmuyparecidosala sealizacinenRTB.Lassealesylasconversacionesestnclaramentediferenciadas.Enesta seccinintroducimosdosprotocolosdeVoIPquevamosaintegrarennuestrafuturaPBX:SIP eIAX2.
3.4.1SessionInitiationProtocol(SIP)
Elprotocolodesealizacindeiniciodesesin,delinglsSessionInitiationProtocol(SIP),es unaespecificacinparaInternetparaofrecerunafuncionalidadsimilaralSS7peroenunared IP.ElprotocoloSIP,desarrolladoporelIETF,esresponsabledeestablecerlasllamadasydel resto de funciones de sealizacin. Recuerda que, cuando hablamos de sealizacin en el contextodellamadasdevoz,estamoshablandodelaindicacindelneaocupada,lostonosde llamadaoquealguienhacontestadoalotroladodelalnea. SIPhacetrescosasimportantes: 1. Encargarsedelaautentificacin.
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 3.Lareceta
2. 3.
3.4.2ServidoresProxy
Aunque dos dispositivos SIP (telfonos IP) pueden comunicarse directamente, SIP normalmentehaceuso dealgunoselementosadicionalesllamadosproxies parafacilitarel establecimientodelasllamadas.Unproxyoperacomounrepresentante(apoderado)quese encargadenegociarentredospartes.Conlaayudadeunproxypuedesmoverfsicamentetu nmerodetelfonoenInternet.Losnmerosnoestnasociadosaunsitioconcretosinoquese puedenmoversiempreycuandonotifiquemosalproxydenuestra(nueva)ubicacin.Como elproxyfuncionacomounintermediarioescapazdeindicaralaspartesdndeseencuentran lostelfonos.EsteservidorintermedioenSIPaprendelaposicindesususuariosduranteun procesoqueseconocecomoregistro.
Imagen2:Elprocesoderegistroentreclientesyelservidorproxy.Lasealizacin(SIP)y lasconversacionesdevoz(RTP)viajanporcaminosdiferentes.
3.4.3ProtocolosentiemporealyelNAT
EnInternet,lasconversacionesqueusansealizacindetipoSIPresultanenflujoconstante depaquetesdepequeotamaoentreloscomunicantes.Estospaquetesdevozhacenusode otroprotocolollamadoRTP.ElprotocolodetransportedetiemporealoRealtimeTransport Protocol(RTP)eselencargadodellevarlasconversaciones(lavoz)deunladoaotro.Enel RTPsedefineunmecanismoestndarparaenviaraudioyvdeoenInternet. Delamisma formaqueenunaconversacinexistendosflujosdevoz,enunaconversacinenunaredIP tenemosdosflujosdepaquetesRTP. LosNetworkAddressTranslators(NATs)sonlosgrandesenemigosdelRTP.Unaredconun NATconsisteenvariosordenadorescompartiendo,conelmundoexterior,una sladireccin IPpblica.LasmquinassituadasdentrodelaredNATusandireccionesprivadas.Aunque
15. UnadelasgrandesdiferenciasentrelatelefonatradicionalylaIPesquelacalidaddeserviciodeuna conversacinsepuedenegociar.
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 3.Lareceta
elNATpermiteconectarmsfcilmenteordenadoresalared,lohacealpreciodenopermitir unaconexinpuramentebidireccional.ElefectodeunNATenvozsobreIPesquenose puedenrecibirconexionesiniciadasdesdeelexterior. ExistenvariosproblemasrelacionadosconNATyVoIP.Elmscomnde los problemases conocido como audio en una sola direccin (oneway audio). Como recordars, una conversacinestcompuestapordosflujosdepaquetesRTPdistintos.Enpresenciadeun NAT,sloelflujodedentroafueranoesbloqueado;elflujodefueraadentronotienela mismasuerteypuedeatravesarelNAT.Laconsecuencia:elqueinicialallamadadesdedentro delNATnopuedeescucharalaotraparte.Silosdoscomunicantesseencuentrandentrode NATslascosassecomplicananms,hastaelpuntodequeningnflujodeaudiollegaasu destinofinal. Pordesgracia,lasdireccionesIPprivadasylosNATestnespecialmentepresentesentodos loslugaresdelasregionesendesarrollo.ConfigurarunaredconsealizacinSIPyNATsnoes trivial.Estaguaincluyealgunosconsejosgeneralesenlaseccinquedescribelosescenarios prcticos.
3.4.4InterAsteriskeXchange(IAX)
LasegundaversindelprotocolodecomunicacinentreAsterisks(InterAsteriskeXchange)se conocecomoIAX2.16 IAX2 esunaalternativa alprotocolo desealizacinSIP. IAX2fue creadocomopartedeldesarrollodelaPBXAsterisk.AdiferenciadelSIP,queusadosflujos dedatosparavozyotrosdosparasealizacin,IAX2usaslounpardeflujosdondevozy datoscoexisten.Esta formadeenviartantolasconversaciones comolasealizacinporel mismocanalseconocecomoinband,encontrasteconelmtodoqueusaSIP,eloutofband17. Debidoasudiseo,IAX2eslaopcinmsadecuadaenregionesendesarrollodondeexisten granpresenciadeNATs.Adems,IAX2escapazdeempaquetarllamadassimultneasenun sloflujodepaquetesIP.Estemecanismoesconocidocomotrunkingysuimplementacin resultaenahorrosenelconsumodeanchodebanda. Elconceptodetrunkingsepuedeexplicarconlasiguientemetfora:imagnatequenecesitas mandarcincocartasagentequeviveenotropas.Unaposibilidadesusarunsobreporcada unadelascartas;laotraesusarunnicosobreeincluirelnombredeldestinatariofinalenla cabeceradecadaunadelascartas.LaagregacindellamadasentelefonaIPfuncionadela mismaformaypermiteenviarmltiplescartas(llamadas)enunnicosobre(paqueteIP). Enresumen,eldiseodeIAX2esmsadecuadopararegionesendesarrolloportresrazones: 1. 2. Reduceelusodeanchodebandaporllamada. EstdiseadoparaoperarenpresenciadeNATs(soportenativo)yesmsfcilde usardetrsdeloscortafuegos.
10
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 3.Lareceta
3.
Reduceanmselanchodebandacuandoserealizanvariasllamadassimultneas (comoresultadodeltrunking)
3.5EquipamientoparaVoIP
3.5.1TelfonosVoIP
UntelfonodeVoIPotelfonoIPesunequipoespecialmentediseadoparaconectarseauna reddetelefonaIP.LostelfonosIPpuedenimplementarunoovariosprotocolosdevozsobre IP.18 AlgunasdelascaractersticasquedebestenerencuentacuandocompresuntelfonoIPson: Anchodebandareducido:inclusindecodecsdealtacompresin(e.g.G.729,gsm, speex). Buenainterfazdeadministracin:inclusindeinterfazweb. Salidadeaudio:inclusindesalidaexternadeaudioysoportedemanoslibres(para educacinadistancia). Existenmuchosmodelosenrangodepreciosde100120USDquehacenmuchomsdeloque vasanecesitaryfuncionanperfectamenteconAsterisk.19
3.5.2TelefonaconSoftwareSoftPhones
Unaalternativaalusodeequiposdedicados(fsicos)deVoIPeselusodeprogramaspara emularlos.Estosprogramasseconocencomosoftphonesyfuncionanencualquierordenador personal. Elnicorequerimientoesteneruna tarjetadesonidoenfuncionamientoy estar segurodequeelcortafuegosinstaladoentumquinanoestbloqueandoalaaplicacin.20 Siquieresreducirelanchodebandausadoportusconversacioneseligeunsoftphoneque tengasoporteparaelprotocoloIAX2yactivauncodecdealtacompresin.
3.5.3TarjetasdeinterfazalaRTB
SiquieresencaminarlasllamadasdetusterminalesdeVoIPalaredtelefnicatradicional (RTB)necesitasunperifricoespecializadoenlaPBX.UnasolucinmodularparaAsterisk, quepermiteconectarlneasytelfonosanalgicos,esunatarjetaPCIfabricadaporDigium: TDM400Pwildcard(lapalabrainglesawildcardsignificacomodn).
11
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 3.Lareceta
Imagen3:UntarjetaTDM400Pconsuscuatropuertos.Losdosprimerospuertos(Puerto1: FXO,Puerto2:FXS)estnocupadosmientrasquelosdosltimospuertos(Puerto3y4) estninactivos. Latarjeta,conocidacomoTDMwildcardosimplementeTDM,tienecuatropuertosyse llamawildcardporquepermiteinsertarunmximodecuatroexpansiones.Lasexpansiones sonmdulosdeunidadesFXOoFXS.Desdeelpuntodevistaprcticoestosignificaqueala TDMselepuedenconectarhastacuatrolneastelefnicas(4mdulosFXO),odoslneas entrantes(2FXO)ydostelfonosanalgicos(2FXSmodules),etc. Una buena idea es comprarinicialmente la versin de la TDM400P con dos mdulos. Un mdulo FXO (para conectar una lnea telefnica) y un FXS (para conectar un telfono analgico).Sienelfuturonecesitasexpandirlatarjetasiemprepuedesaadirmdulosextra mstarde.
3.5.4AdaptadorparaTelfonosAnalgicos(ATA)
Unadaptadorparatelfonosanalgicos(ATA)oenbreve,adaptadortelefnico(TA)conecta untelfonoordinarioaunareddeVoIP.UnATAtieneunconectorRJ11(elconectorde telfono) yunRJ45(el conectorderedoEthernet). UnATA funcionacomo sifueraun adaptador FXS,porunladohablaconeltelfonoanalgicoy porelotrooperaenmodo digitalconlareddevozIP.Siquieresimplementarunaredenunareginendesarrollonoes unamalaopcinutilizarATAsenlugardetelfonosIP.LosATAssuelensermsbaratosyal sermspequeossuelensermsfcilesdenacionalizarenlasaduanas.Otradelasventajas deusarunATAsesquepuedesconectarcualquiertipodeaparatotelefnicoalaredIP,por
12
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 3.Lareceta
3.6Codecs
Unalgoritmocompresor/decompresor(codec)esunconjuntodetransformacionesutilizadas paradigitalizarlavoz.Loscodecsconviertentantolavozendatos(bits)comolosdatosen voz. Uncodectomaunasealanalgicaylaconvierteenunasealdigitalenunformato binario(0sy1s).Existenmuchasformasdedigitalizaraudioycadaunadeesasformasresulta enuntipodecodec.Engeneralpuedesasumirqueamayorcompresinvasaobtenermayor distorsin (peorcalidad).Uncodecseconsideramejorqueotrocuandoescapazdeofrecer mejorcalidaddevozusandolamismacantidaddeanchodebanda. UncircuitodelaRTB(eltelfonodesiempre)usauncodecconocidocomoModulacinpor ImpulsosCodificados(MIC)delinglsPulseCodeModulation(PCM).ElMICesuncodecde altacalidadquenecesita64kbps.DosestndaresdecompresinMICsonelmicrolaw(ulaw) yelalaw.AestosestndaresselesconocetambincomoG711uyG711arespectivamente.El microlawseusanormalmenteenNorteamricayelalawen Europa.Lafamiliadecodecs G711no requieren degranprocesamientoyporesoestndisponiblesenlamayora (sino todos)losequiposdevozIP. Enpasesendesarrollo,elusodelG.711noesviableporquerequieredemasiadoanchode banda.Debesconsiderarotrotipodecodecsquehaganunusomsefectivodellosrecursos disponiblesenlared. UnasbuenasopcionesdecodecslibresyqueusanpocoanchodebandasonelcodecdeGSM yelSpeex.ElG.729esuncodecpropietarioaltamenterobustoperorequieredeunalicencia parasuusocomercial.23
3.7CalidaddeServicio
LacalidaddeserviciooQualityofService(QoS)eslacapacidaddelaredparaofrecermejoras enelserviciodeciertotipodetrficodered.UnodelosgrandesretosalimplementarVoIP, especialmenteenregionesendesarrollo,esgarantizarqueexistaunanchodebandaconstante paralasconversaciones.Paraofrecerunabuenacalidadenlaconversacin,elanchodebanda quenecesitanlosdosflujosdetrficosedebegarantizarconindependenciadelestadodelresto delasconexiones(inclusosilaconexinaInternetestaltamenteocupada).Cuandodisees
21. Lossiguientesadaptadorestelefnicos(ATA)hansidoevaluadoscomopartedeestagua:SipuraSPA3000, GlobelTexIAD 22. ElIAXyesunaATAdereducidotamaoconsoporteIAX2.ElATAnosoportacodecsdealtacompresin. 23. G.729esuncodecde8kbps(aprox.30KbpsporconversacinusandoSIP).Elcodecfuedesarrolladoporun consorciodeorganizaciones:FranceTelecom,MitsubishiElectricCorporation,NipponTelegraphandTelephone Corporation(NTT)ylaUniversidaddeSherbrooke.Elpreciodelcodecesde10USD.Ver http://www.digium.com/en/products/voice/g729codec.php
13
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 3.Lareceta
unareddevozIPdebesintentaroptimizarelanchodebanda,controlarlasfluctuacionesdela red(jitter),yminimizarlalatencia.24
3.7.1Latencia
Latenciaessinnimoderetraso,ymideeltiempoquetardaunpaqueteenviajardeunpunto aotro.ParamejorarlacalidaddelasconversacionesdevozsobreIPesnecesarioreducirlos retrasosalmximo,dandolamximaprioridadaltrficodevoz.Darmsprioridadalos paquetesdevozsignificaqueselesdejasaltarselacoladesalidayasocupar unamejor posicinqueelrestodelospaquetesqueestnesperandoparasertransmitidos. Silacomunicacinrequiereelusodeunenlaceporsatlitevasatenerquecontarcon,al menos, una latencia de 300 ms (0.3 segundos). Para poder reducir el retraso tienes que implementar buenas polticas de calidad de servicio en los enrutadores (routers) y conmutadores(switches)porlosqueatraviesatutrficodevoz.Aunqueunaconversacines tcnicamenteposiblesiexistendosomsenlacesdesatliteentreloscomunicantes,tienesque estarpreparadoparaesperasdelordendeunsegundo.Unaregladeoroparaminimizarla latenciaescolocartucentralita(PBX)enelsegmentomenoscongestionadoosaturadodela red.
3.7.2JitterFluctuacionesdevelocidad
En VoIP, el jitter es la variacin del tiempo entre la llegada de distintos paquetes. Estas variaciones son debidas a la saturacin de la red, la falta de sincronismo o los cambios dinmicosenlasrutas.Enredescongrandescambiosdevelocidadsepuedeusarunjitter bufferparamejorarlacalidaddelaconversacin.Unbufferesunespaciointermediodondese almacenanlospaqueteshastasuprocesamiento.Laideabsicadeljitterbufferesretrasar deliberadamente la reproduccin del sonido para garantizar que los paquetes ms lentos hayan llegado. Los paquetes se almacenan en el buffer, se reordenan si es necesario y se reproducenaunavelocidadconstante.Lacalidaddevozmejoraalpreciodeincrementarla latenciatotal. MuchosequiposdeVoIPtedejanajustareltamaodeljitterbuffer.Elbuffereseserea dondelospaquetessealmacenanparaluegoserenviadosalprocesadordevozenintervalos constantes.Eltamaodelbuffersemideenmilisegundos.Sielbufferesde200mssignifica queintroducimosunretraso(esperamos)esetiempoantesdereproducirlavoz. Existendostiposdejitterbuffers:estticoydinmico.Unbufferestticoestimplementado comopartedelequipoyconfiguradodemanerafijaporelfabricante.Eldinmicoseconfigura usandounprogramaylopuedecambiarelusuario.Unvalorcomndeljitterbufferesde100 ms.Alincrementarelbuffervamosamejorarlacalidaddelaconversacinperonoolvidesque lo que estshaciendoesincrementarelretardototal(latencia).Debesbuscarunvalorde compromiso.Tenencuentaqueunretrasototalmuyporencimade300mshacemuydifcil tenerunaconversacin.
14
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 3.Lareceta
PARTE2Manosalaobra
4.PuestaenprcticaCreandotupropiaPBX
4.1Quesloquenecesito?
Loprimeroquevasanecesitaresunordenadorpersonal.Cualquiermquinafabricadadespus delao2000debetenersuficientepotenciaparahacerfuncionar Asterisk.Amedidaquetu sistemacrece(especialmentesiusascodecsdealtacompresin)tendrsqueconsiderar un buenprocesadorymemoria,peroparaempezarcualquiermquinaesbuena.Elordenador debefuncionarconcualquierdistribucindelsistemaoperativoLinux.25 Lamaneramsbaratadeempezaresutilizarsoftphones.Elprimerejercicioesaprendera configurar Asterisk parapoderestablecerunallamadaentredossoftphonesatravsdetu PBX. Tus primeros ensayos los puedes hacer con dos ordenadores con tarjetas de sonido. InstaladosclientesdeVoIPencadaunodelosordenadoresyusaunterceroparainstalary configurarAsterisk. EnelcasodequequierasusarequiposfsicosdevozIP(telfonosVoIPoATA),oconectarte conlaRTBvasanecesitaralgunosdeloscomponentesdescritosenlaSeccin3.5.26 SiquieresconstruirunaPBXporttilydebajoconsumodeenergaconsultalassoluciones basadasenplacabaseminiITX.Comopartedeestaguaconstruimosunacentralitausandoel modeloEPIAM10000(tambinconocidacomoNehemiah).Laplacabasetienedosranuras PCIdondepuedesconectarlatarjetamultiusoDigiumTDM400Pqueescompatibleconel estndarPCI2.2.27
4.1.1Consejosdeinstalacin
staesunalistadeconsejosdeinstalacinsinecesitasinstalarunatarjetaPCITDM400P:
AsegratedequetumquinatieneunaranuraPCI2.2libre. SivasausarunmduloFXSenlatarjetaTDM400Ptienesqueteneruncablede alimentacinconunconectormolexlibre.28 Si vas a usar una placa base de tamao reducido como las miniITX vas a necesitarunaraiserPCI.LatarjetaraisergiralaposicindelaTDM400P90 grados.Esnecesariogirarlatarjetaparaqueentredentrodelacaja.
25. SieresnuevoenelmundodeLinuxpuedespedirunCDdeladistribucinUbuntu.http://www.ubuntu.com 26. UnbuendistribuidordeequipamientodevozIPcondescuentosespecialesaorganizacionessinnimodelucroes http://www.avanzada7.com 27. Uncentralitaporttiltepermitirdemostrarlatecnologayalmismotiempoteofrecelaposibilidadde transportartupropiodemostradorcomoequipajedemano. 28. UnconectordeltipoMolexesunconectordealimentacinde4pindeusocomnenPCs.Loscablesamarillosy rojosdanunatensinde+12Vy+5Vrespectivamente,elcablenegroestierra.
15
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 4.PuestaenprcticaCreandotupropiaPBX
NoconectesunalneatelefnicaaunpuertoFXS!AlconectarunpuertoFXS conotroFXSsepuedequemarelmdulo.
5.InstalandoAsterisk
Asterisknoesslounprogramadegrantamaosinoque,adems,siguecreciendoalintegrar ms funcionalidades cada da. Su diseo y arquitectura es tan potente como flexible. La flexibilidad de Asterisk tambin implica cierta complejidad debido a las numerosas posibilidades y opciones. El programa es una herramienta tan potente que puede hacer probablemente todo lo que te puedes imaginar, pero los primeros pasos no son fciles. AprenderaconfigurarAsteriskmerecuerdaaesaslargasnochesdehacediezaosdelantede lapantallaintentandoconfigurarlasprimerasversionesdelservidorwebApacheoelSendmail. Asterisk puedehacertantascosasqueturetovaaseraprenderahacerbientanslounas pocas. Lametodologaquehemostomadoenestaguanoesladelistartodaslosposiblesrdenes, sinoladecitaralgunasduranteladescripcindetresescenariosprcticos.Losescenarioshan sido elegidos para que te sirvan de referencia en tus propias instalaciones. Los ejemplos, aunquebsicos,tepermitirnlacreacindesistemastelefnicosmuchomscomplejos.Hemos decidido(intencionadamente)simplificarlasconfiguracionesalmximo.Somosconscientesde quealgunosdelosejemplossepuedenresolverdeotrasmaneras,noolvidesqueereslibrede experimentaryexplorartmismo.
16
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 5.InstalandoAsterisk
5.1CompilandoAsterisk
Comocualquierprogramalibre,existendosformasprincipalesdeinstalarlo.Elprimermtodo consiste en descargar el cdigo fuente de la red y compilar tu propia versin binaria. El segundomtodoconsisteendescargarunaversinyacompiladaenformadepaquete. Sidecidescompilar Asterisk desdesucdigofuentelossiguientesconsejostepuedenserde utilidad:
DescargaelcdigofuentedeAsteriskdehttp://www.asterisk.org29 Paraunaversinbsicanonecesitasbajartelospaquetesdeaddonsosounds. ParapodercompilarAsteriskdesdeelcdigofuenteesnecesariotenerunentornode compilacinentusistema.Asegratequetieneslossiguientespaquetesinstalados: bison(ungeneradordeanalizadoressintcticos) zlibyzlibdevel(bibliotecasdecompresindesarrollo) ncursesyncursesdev(bibliotecasdeutilidadesdeconsoladesarrollo) opensslyopenssldev(libssldev)(SSLbibliotecasdedesarrollo) libc6dev(cabecerasybibliotecasdedesarrolloGNUC) gccymake(elcompiladorCdegnuylautilidadmake)
LacompilacindeAsterisknoesdiferentedeotroprogramadecdigolibreenLinux: Paracompilar:
# make
Parainstalar:
# make install
Parainstalarlosscriptsdearranque:
# make config
Parainstalarlosficherosdeconfiguracindeejemplo:
# make samples
Parainstalarladocumentacindedesarrollo:
# make progdocs
Descarga el cdigo fuente del Zaptel de http://www.asterisk.org. Por desgracia, el controladordezaptelnoformapartedelncleo(kernel)deLinuxytienesquecrearte tuspropiosmdulos. Asegrate de que las cabeceras del ncleo del kernel (paquete kernelheaders) est instaladoentusistema.30
17
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 5.InstalandoAsterisk
5.2DescargandoAsterisk
Tambin es posible descargar Asterisk ya compilado. El programa compilado (binario ejecutable) se obtiene en la forma de paquete. Un paquete contiene todos los ficheros necesarios para ejecutar un programa. Dependiendo de la distribucin de Linux que ests usando existen paquetes en distintos formatos (rpm, deb o tgz). Si ests usando una distribucinbasadaenDebian,puedesdescargareinstalar Asterisk usandolautilidad apt. Ejecutalaordenaptgetinstallconlossiguientespaquetes: Paquete Asteriskclassic(obligatorio) Asteriskconfig(sugerido) Asteriskdev(opcional) Asteriskdoc(sugerido) Asterisksoundsextra(opcional) Asterisksoundsmain(opcional) Descripcin PBXencdigolibreversinoriginaldeDigium ficherosdeconfiguracinparaAsterisk ficherosdedesarrolloparaAsterisk documentacinparaAsterisk ficherosadicionalesdesonidoparaAsterisk ficherosdesonidoparaAsterisk
5.3rdenesBsicasenAsterisk
Asterisk tienedoscomponentesinternos:unservidorquenormalmentefuncionaensegundo planoyuncliente(CLI)quesupervisaelservidor.Tantoelservidorcomoelclienteseinvocan usandolaordenAsteriskperoutilizandodistintosargumentos. UnavezquetengasAsteriskinstalado,tienesqueaprenderalgunasrdenesbsicas: Arrancar/PararAsteriskdesdeelarranque(runlevel)
#/etc/init.d/asterisk (start|stop)
ArrancarAsteriskdesdelalneaderdenes
# asterisk
Arrancarelservidorenmododedepuracin
# asterisk -vvvc
18
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 5.InstalandoAsterisk
CLIrdenesbsicas: Recargalaconfiguracin
#CLI>reload
ActivaelmododedepuracinparaSIPoSIPoIAX2
#CLI> IAX2 debug #CLI> SIP debug
DesactivaelmododedepuracinparaSIPoIAX2
#CLI> IAX2 no debug #CLI> SIP no debug
Muestraelestadodeusuarios,peers31ycanalesparaSIPoIAX2
#CLI> #CLI> #CLI> #CLI> #CLI> #CLI> sip show users sip show peers sip show channels iax2 show peers iax2 show users iax2 show channels
5.4Ficherosdeconfiguracin
ElnmerodeficherosdeconfiguracinquetienesquemodificarparahacerfuncionarAsterisk dependedeltipodetecnologasVoIPquequierasusarentuinstalacinactualdemanera simultnea. La lgica bsica para configurar Asterisk se puede resumir en los dos pasos siguientes: Paso1:DefineyConfiguraloscanalesdecomunicacin Primero,tienesquedefiniryconfigurareltipodecanalesdecomunicacinquequieresusar. Una manera muy fcil de entender lo que es un canal de comunicacin es imaginarse un cable.LoscanalesentelefonaIPnosonloscablesfsicos,sinocableslgicos.ComoInternet te permite tener muchas sesiones concurrentes en el mismo cable fsico, podemos definir mltiplescanaleslgicosqueoperansimultneamenteenelmismomedio. Recuerda que Asterisk te permite interconectar distintos dispositivos usando diferentes protocolosdeVoIP.Losficherosdeconfiguracinquenecesitasprepararestnasociadosal tipo de tecnologa VoIP que vayas a usar. No es mala idea instalar los ficheros ejemplo (samples)comoreferencia. Paso2:Definereglasparatusextensiones(Crearunplandemarcado) Elsegundopasoesdefinircmovanainteractuarcadaunodeloscanalesentres. Unavez quehasdefinidouncanalgarantizasquelasconversacionespuedanentrarysalirdetuPBX
31. N.T.Eltrminopeersetraducealcastellanocomocompaero.EnelcasoconcretodeAsterisklostrminos userandpeerseusanparaclasificarlostiposdeconexionesIPalsistema.
19
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 5.InstalandoAsterisk
pero adems tienes que definir cmo se encaminan cada una de esas conversaciones. Por ejemplo,puedespreferirqueunallamadaentrantedesdelaRTBseenveautomticamentea untelfonoIPo,puedesdefinirunaconexinentredostelfonosIPseparados20kmsatravs deunaredinalmbrica.Todoesetipodeinteligenciaentreloscanalessedebecrearenun fichero de configuracin conocido como extensions.conf. El fichero de extensiones contiene todasesasreglasdegestindellamadasalasqueseconocecomoelplandemarcadoodial plan. Paraquetehagasunaideamsintuitivadeestetipodeconceptos,piensaenlossistemasde telefonamsantiguos.Enesossistemas,existaunapersona(eloperador)queeraresponsable de conectar fsicamente los cables telefnicos entre dos terminales. Para que una llamada fluyera entre dos lneas de comunicacin (canales) se necesitaba contactar primero con el operador (PBX) e informarle denuestrasintenciones. El fichero de extensiones ennuestra PBXsuplantaelroldeloperadortradicional. Ennuestrostresescenariosvamosausarcincoficherosdeconfiguracin: FicherodeConfiguracin /etc/asterisk/extensions.conf (siempreobligatorio) /etc/asterisk/sip.conf /etc/asterisk/iax.conf /etc/asterisk/zapata.conf Descripcin Contieneelplandemarcado(dialplan).Interconecta loscanales. SeusaparaconfigurarcanalestipoSIP(telfonosSIP yproveedoresSIP) Se usa para configurar canales tipo IAX2 (telfonos IAX2yproveedoresIAX2) Se usa para configurar las tarjetas de interfaz RTB tipo Zapata. Asterisk usa la configuracin para habilitarelcanal(es)delatarjetaenelarranque Configuracin de bajo nivel de la tarjeta zaptel. Indicaquedispositivodeltipozaptelestamosusando. LautilidadZaptelConfiguratortoolztcfgusaeste ficherodeconfiguracinantesdearrancarAsterisk
/etc/zaptel.conf
5.5Peers,UsersyFriends
UnodelostemasmscomplicadosdeAsterisk(oalmenoslohasidoparamdurantemucho tiempo)eseldelusodelaopcinpeer,useryfriendenlosficherosiax.confysip.conf. Lostrminos peer,user y friend seusanparaclasificarlasllamadasentrantesysalientes. MientrasqueunuseresunaconexinqueseautentificaconnuestraPBX(i.e.unallamada entrante),unpeeresunallamadasaliente.Losusersnosllamanynosotrosllamamosalos
20
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 5.InstalandoAsterisk
peers.32Unfriendesunaconexinquesepuedecomportartantocomouserocomopeer, esdecirunaconexinsalienteoentrante. Cuandonosllegaunaconexinentrantedeltipouserofriendtenemosquedecidirqu hacerconlaconexin.Eltrminocontextoseusaparadefinirqureglasogrupodereglas delplandemarcado(extensions.conf)sedebenaplicaraesallamadaconcreta.Elcontexto deunallamadaentranteseencargadeasociarlaconunconjuntodereglaspresentesenelplan demarcado.Elcontextorepresentaelpuntodeentradadelallamadaenelplandemarcado. Elficheroextensions.confincluyetodoslosnmerosquesepuedenaccederdesdelaPBXen distintassecciones(contextos).Cadaunodelosmltiplescanalesentrantesdefinidosencada unodelosficherosdeconfiguracin(iax.conf,sip.conf,zapata.conf)seasocianaciertaseccin (contexto)delplandemarcado.
21
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 5.InstalandoAsterisk
PARTE3ESCENARIOS
6.ESCENARIOA Redtelefnicaprivadaenunacomunidadrural
6.1Antecedentes
EnnuestroprimerescenarioqueremosinstalarunaPBXenelTelecentrodeunacomunidad ruralyofrecertelefonaIPacuatroorganizacionesdelosalrededores.Despusdecompletarla instalacin, cada organizacin debe ser capaz de hacer llamadas telefnicas gratuitas33 al Telecentroyatodoslossociosconectados. Lasiguientetablaresumelainformacindecadaunadelascuatroorganizacionesylistalas cuatro tecnologas diferentes que se pueden usar para conectarse a la centralita. Con el objetivodepresentarunejemplolomsilustrativoposible,hemoselegidounagranvariedad detecnologasdevozIP.Enunaimplantacinrealdebesconsiderarreducirelnmerode tecnologasconelfindefacilitarelsoporteymantenimiento. Organizacin HospitalRegional EscueladePrimaria AsociacinGanaderos Tecnologa ATAusandoelprotocoloSIP ATAusandoelprotocoloIAX2 DostelfonosSoftPhonesusandoSIPyIAX2 Extensin 462 463 464 465,466
BibliotecaComunitaria TelfonoVoIPconprotocoloSIP
6.2ConfigurandolosclientesVoIP
AntesdedescribircomoconfigurarlaPBXempezamosconunadescripcindelainstalacin decadaunodelosclientesdeVoIP.
6.2.1BibliotecaComunitaria
Elprimercliente estsituadoenlabibliotecapblicadelazona.Labibliotecaestsituada alrededorde1kmdelTelecentro.EnestaorganizacinvamosainstalarunterminaldevozIP
33. Unavezquelainfraestructuradecomunicacionessehadesplegadopodemosestablecertarifasreducidasparalas llamadasinternasquepermitancubrirloscostosdeampliacinymantenimiento.ElusodevozsobreIPnos permitetrabajarenmodelosdedesarrollocomunitarioendondesepuedeconsiderarlasllamadasinternascomo gratuitas.
22
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 6.ESCENARIOARedtelefnicaprivadaenunacomunidadrural
consoporteparaelprotocoloSIP.ElterminalestconectadodirectamenteanuestraPBXa travsdeunapasarelainalmbrica dedicada(enlacepuntoapuntoenmodotransparenteo bridge).LadireccinIPdelterminalIP(192.168.46.2)estenelmismosegmentoderedque nuestraPBX(192.168.46.1).Comoelenlaceinalmbricoestenmodotransparente,laPBXy elterminalIPsecomunicandirectamenteynotenemosquepreocuparnosdelosproblemas relacionadosconelNAT. ParaconfigurarcualquiertipodeterminaldevozIPconsultaelmanualdelequipoybuscala maneradeactivarlainterfazdeadministracinporWeb.34Unavezqueentresenlazonade administracinbuscacmoconfigurarporWeblossiguientesparmetrosbsicos:
Imagen 5: La biblioteca comunitaria est conectada a la PBX a travs de una pasarela inalmbrica.ElenlacepuntoapuntopermitealterminaldeVoIPhaceryrecibirllamadas.
6.2.2HospitalRegional
ElsegundoclientedenuestraredinternaesunATAsituadoenelhospital.Elhospitallocal estsituadoalotroladodelacalle,enfrentedelTelecentro.LaconexinentreelTelecentroy el hospital es un cable de par trenzado de 100 metros (ethernet Cat5). La manera de configurarunATAnoesmuydiferentealadeconfiguraruntelfonoVoIP.Siguiendolos mismospasosqueenelejemploanteriorvamosausarlainterfazdeadministracinweby completarlossiguientesparmetros.
34. ExistentresmecanismosbsicosparaconfigurarladireccinIPdeuntelfono.Teclado:configurarladireccinIP detelfonoatravsdeltecladodelterminal.DHCP:conectareltelfonoaunaredconDHCPyextraerla direccindelainformacinofrecidaporelservidorDHCP.IPdefbrica:leerladocumentacinparaconocerla direccinIPquevienepordefectoenelterminal.
23
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 6.ESCENARIOARedtelefnicaprivadaenunacomunidadrural
6.2.3EscuelaPrimaria
Eltercerclientedenuestraredeslaescueladeprimaria.Laescuelaestenunedificioadjunto alTelecentroytambinsepuedeconectarconcabledepartrenzado.Enlaescuelasecoloca otroequipoATA,enestecasoelequipousaelprotocoloIAX2enlugardeSIP. En la escuela usamos el modelo de ATA (interfaz FXS) s101i o IAXy. En este cliente conectamosuntelfonoordinarioalpuertoRJ11deladaptadortelefnico. ElIAXynoincluyeuninterfazdeconfiguracinporweb.Lamaneramsfcilycmodade configurarlaunidadesutilizarelpropioAsterisk.LaprimeravezqueconectaselATAalared intentaobtenerunadireccinIPporDHCP.Miralainformacin(logs)quetedatuservidor
35. DECT,delinglsDigitalEnhanced(formerlyEuropean)CordlessTelecommunications,esunestndarde comunicacininalmbricaparatelfonosporttilesqueoperaen1.9Ghz.
24
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 6.ESCENARIOARedtelefnicaprivadaenunacomunidadrural
DHCPytomabuenanotadeladireccinIPdelIAXy.Elsiguientepasoeseditarelfichero /etc/asterisk/iaxprov.confincluyendounaseccinparecidaalasiguiente:
[iaxy_school] ip: 192.168.46.4 netmask: 255.255.255.0 gateway: 192.168.46.1 codec: ulaw server: 192.168.46.1.2 user: 464 pass: 464pass register
Imagen7: La escuela primaria est conectada a la PBX a travs de un cable de par trenzado.UnATAconsoportedeIAX2conectauntelfonoanalgicoalacentralita.
6.2.4Asociacindeagricultores
Elcuartoclientedenuestraredeslaasociacindeagricultoresqueestsituadaenunedificio a20kmsdenuestrasoficinascentrales(Telecentro).Laasociacinyatienedosordenadores conectadosalTelecentroatravsdeunrouterNATinalmbrico.Elequipoinalmbricotiene la direccin IP 192.168.46.5 y sirve una red interna (via NAT) con un rango de IPs (10.10.46.0/24).EnlasoficinasdelaasociacinvamosainstalardosSoftphones,unousando elprotocoloSIPyotroelprotocoloIAX2. ElelementoquerequieremsatencineselSoftPhonequeusaSIP.Tenemosqueasegurar queelaudiofuncionaenlasdosdirecciones. EnelSoftphoneSIP: ActivarelregistroconlaPBX(register).
36. ExisteunprogramaparasistemaoperativoWindowsparagestionaruntelfonodevozIPIAXydisponibleen: http://dacosta.dynip.com/asterisk
25
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 6.ESCENARIOARedtelefnicaprivadaenunacomunidadrural
Activar los mensajes que mantienen la conexin activa con la PBX (keepalive packets).37 Activarlaposibilidadderecibiraudioporelmismopuertoqueloenviamos. EnlaPBX: ConfigurarenAsteriskqueeltelfonoestdentrodeunNAT.
UnbuenSoftPhonequeusaSIPyquefuncionabiendentrodelosNATseselprogramaX LitedeXten.38 ElSoftPhonequeusaIAX2nonecesitaunaconfiguracinespecialparafuncionardentrode unNAT.LonicoquetienesqueaseguraresqueelpuertodecomunicacionesdeIAX2,el UDPpuerto4569,no estbloqueado.UnabuenaopcindeSoftPhoneconsoportepara IAX2esiaxcomm.39 Desde el punto de vista conceptual no existen diferencias entre la configuracin de un programa cliente de telefona IP en unordenador y un terminal fsico. Usalos valores de usuario/clave465/465passy 466/466passencadaunodelosprogramas.Asegratequeel codecG711(ulaw)estactivadoyqueladireccindelaPBX(proxy)esla192.168.46.1.
Imagen8:LaasociacindeagricultoresestconectadaalacentralitaatravsdeunNAT inalmbrico. Un programa de telefona soft phone est instalado en cada uno de los ordenadores.ElprimerclienteusaelprotocoloSIPmientrasqueelsegundousaIAX2.
26
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 6.ESCENARIOARedtelefnicaprivadaenunacomunidadrural
6.3ConfigurandoAsterisk
Paso1:Definiryconfigurarloscanalesdecomunicacin Esnuestroprimerescenariovamosausardostiposdecanalesdecomunicacin:SIPyIAX2. Porlotanto,tenemosqueeditarlosficherossip.confyiax.conf. Ten en cuenta que los comentarios dentro de los ficheros de comunicacin en Asterisk comienzanporpuntoycoma(;). Enelficherosip.conf,incluyelossiguientesdatos:
[462] type=friend secret=462pass context=internal_calls host=dynamic callerid=Library disallow=all allow=ulaw [463] type=friend secret=463pass context=internal_calls host=dynamic callerid=Hospital disallow=all allow=ulaw [465] type=friend secret=465pass context=internal_calls host=dynamic callerid=Farmers1 disallow=all allow=ulaw nat=yes qualify=yes ; Opciones especficas para soporte NAT ; Se usan la IP,puerto del NAT ; Trfico dummy para mantener la conexin viva ; Hacemos y recibimos llamadas ; Todas las llamadas entrantes estn asociadas ; al contexto internal_calls
; Primero desactivamos todos los codecs ; Luego activamos el/los codecs que podemos usar
Yeniax.conf,tenemoslassiguientesopciones:
[464] type=friend secret=464pass context=internal_calls host=dynamic callerid=School disallow=all allow=ulaw [466] type=friend secret=466pass context=internal_calls host=dynamic callerid=Farmers2
27
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 6.ESCENARIOARedtelefnicaprivadaenunacomunidadrural
disallow=all allow=ulaw
Lasintxisdelficherodeextensionesextensions.confesmuyintuitiva.
En el ejemplo anterior estamos creando todas las extensiones (462 a 466) y ponindolas disponiblesdentrodelcontexto[internal_calls].LaordenDial()creauncanalSIPoIAX2con lospeersdenombre462a466.
28
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 7.ESCENARIOBConectandolaRTB
7.ESCENARIOB ConectandolaRTB
Nuestro segundo escenario es el resultado de aadir al Escenario A un nuevo canal de comunicaciones. El objetivo es incluir en la red privada anterior un canal hacia la red telefnicatradicional(RTB).Paraello,esnecesarioaadiralaPBXunainterfazhacialared telefnica. EnesteejemploproponemoselusodeunatarjetaPCITDM400Pde Digium conunpuerto FXO.ComorecordarslatarjetaTDM400Pesuninterfazalqueselepuedenincluirhasta cuatromdulosFXS/FXO.ElusodeunmduloFXOtepermitirconectarlaPBXauna lneatelefnicaanalgica.
Imagen9:ElTelecentrousaunatarjetaTDM400Pwildcardpara(1)conectarlaPBXala RTB(mduloFXO)y(2)aadirunaextensinaltelfonoanalgico(FXSmodule).
7.1IncluirelsoporteparalatarjetaTDM400P
LospasosnecesariosparaponerenfuncionamientoelinterfazTDMsoncuatro. Paso1:InsertarlatarjetaPCI ElprimerpasoesconectarlatarjetaPCIdemediotamaoenunadelasranuraslibresdetu placa madre. Asegrate que el conector de tipo molex (12/5 volt) del interfaz TDM est conectadoalafuentedealimentacindetuordenador.LatarjetaTDMrecibecorrientea travsdeunconectorhembraconocidocomo molex (eselmismotipodeconectorde4hilos con el que se alimentan los discos duros IDE). Si tu fuente de alimentacin no tiene un conectormachodisponibletendrsqueaadirundivisordecorriente(powersplitter). Paso2:Instalarloscontroladoresdeldispositivo El segundo paso es asegurarse que los controladores del dispositivo estn disponibles (se compilaroncorrectamente y estn cargados).Ejecuta elcomando #lsmod,deberas verel controladorwctdmcargado.Observaqueelcontroladorwctdmdependedelzaptelqueasuvez dependedelcrc_ccitt.
29
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 7.ESCENARIOBConectandolaRTB
191748 2304
7 wctdm 3 hisax,zaptel,irda
Laprimeralneafxsls=1significaqueestamosusandosealizacinFXSdeltipoLoopstarten elpuerto1.RecuerdaqueunmduloFXOnecesitasealizacinFXS. Lasegundayterceralneadelficherodeconfiguracinindicaneltipodetonosusadosenla lnea.Elsonidoycadenciadelostonosdemarcadoodelneaocupadavarandeunpasa otro.40 Usamos ztcfg, unautilidaddeconfiguracindedispositivoszaptelqueseinstalacomoparte del cdigo fuente de Asterisk o el paquete zaptel. Ejecutamos /sbin/ztcfg para cargar y ejecutarelficherodeconfiguracin/etc/zaptel.conf. Alejecutarlautilidaddeberasobtenerelsiguienteresultado:
# ztcfg -vv Zaptel Configuration ========================= Channel map: Channel 01: FXS Loopstart (Default) (Slaves: 01) 1 channels configured.
30
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 7.ESCENARIOBConectandolaRTB
Lastresltimaslneasdelficherozapata.confsonlasmsimportantesparaunaconfiguracin bsica.Lalnea context=incoming_pstn indicaquetodaslasllamadasentrantesporelcanal deRTBseasociarnaesecontexto.Lassiguientesdoslneasindicaneltipodesealizacin: fxs_ls (FXS con Loopstart) y que las llamadas llegan por el canal/puerto 1 de la TDM, channel=>1. Unavezquetengasconfiguradoestenuevotipodecanal(TDMzapata)slotequedadecidir cmogestionarlasllamadasentrantesysalientesdelaRTB.
7.1.1GestindellamadasentrantesdesdelaRTB.
En nuestro segundo escenario decidimos que el comportamiento ideal para las llamadas entrantesdesdelaRTBeselsiguiente:unavezqueunallamadaentraporlalneaanalgica, queremosquesedescuelgueunsistemaautomticodeatencinportonos(IVR).Elsistema (nuestroAsterisk)preguntarporlaextensindeseada,unavezqueelnmerodeextensinse introduzcaporelterminal(tonosDTMF)lallamadaseencaminaraunadelasextensiones. LaideaprincipalespermitircompartirunslonmerodelaRTBcontodaslasextensiones. Estainteligenciaseimplementaenelfichero extensions.conf. Aadimosunanuevaseccin (contexto)[incoming_pstn]delasiguienteforma:
[incoming_pstn] exten => s,1,Answer() exten => s,2,DigitTimeout(10) ; Contestamos la llamada entrante ; Configuramos los valores mximos para ; introducir el nmero de extensin
exten => s,3,ResponseTimeout(20) exten => s,4,Background(vm-extension) ; Un mensaje de voz pregunta: extensin? exten => i,1,Goto(incoming_pstn,s,1) ; Repetir preguntar si extensin invlida exten => t,1,Hangup() ; Colgar include => internal_calls ; Pone a disposicin todas las extensiones internas
Nota:laversinfinalcompletadelficheroextensions.confestdisponibleenlaSection7.3.
7.1.2GestindellamadassalientesporlaRTB
ParaquecadaunodelostelfonosIPpuedanusarlalneaanalgicadesalidacreamosun nuevocontexto[outgoing_calls].
[outgoing_calls] exten => _0.,1,Dial(Zap/1/${EXTEN:1}) exten => t,1,Hangup()
Laextensinespecial_0.significaqueparaalcanzarlaRTBsedebeempezarmarcandoel numero0.LaordenDial()creaelpuenteentrelallamadaIPdesdelosterminalesyelcanal analgico Zap/1 (canal1).Porltimo${EXTEN:1} significaqueelnmeroquesemarcar porelcanalanalgicoeselnmeromarcadodesdelosterminalesinternosIPsinelprimer dgito.Ennuestrocasosequitael0inicialalmarcarporlaRTB. Una vez que hemos creado un nuevo contexto en el plan de marcado [outgoing_calls], es necesarioquelosterminalestenganaccesoalaextensindesalida.Lamaneramsfcilde
31
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 7.ESCENARIOBConectandolaRTB
conseguirlo es aadir una lnea del tipo include => outgoing_calls al final del contexto [internal_calls]
include => outgoing_calls
7.2AadiendounterminalanalgicoalaPBX
En nuestro primer escenario hemos configurado cinco terminales de VoIP en cuatro organizaciones,peroelTelecentroquealojalaPBXnotieneningunaextensindevoz.La maneramssimpledeaadiralTelecentrosuextensindevozesinstalarunmduloFXSen laPBX.LatarjetaTDM400Ptiene3puertoslibres,usamoselsegundopuertodelaPCIpara incluirelmduloFXS.UnavezquetengamoselmduloFXSconfiguradopodemosconectar unterminalanalgico(FXO)alpuerto2delaPBX. Elprocesoessimple;despusdeapagarlaPBX,insertamoselmduloFXSenelsegundo puertodelatarjetaTDM.Despusdearrancarelsistema,aadimosunalneamsfxo_ls=2 alficherodeconfiguracin/etc/zaptel.conf.
fxsls=1 fxols=2 loadzone=us ; loadzone=es para espaa defaultzone=us ; defaultzone=es
Paraasegurarqueelsegundopuerto(FXS)hasidodetectadotienesqueusarlaherramienta ztcfg(oincluirlaenelarranque)conelsiguienteresultado:
#ztcfg -vv Zaptel Configuration ========================= Channel map: Channel 01: FXS Loopstart (Default) (Slaves: 01) Channel 02: FXO Loopstart (Default) (Slaves: 02) 2 channels configured.
UnavezqueelsistemaoperativopuedehacerusodelnuevopuertoenlaTDM,configuramos Asterisk en /etc/asterisk/zapata.conf paraquepuedahacerusodeunnuevocanalanalgico (eltelfono).Enelmismoficherodeconfiguracinindicamosquelasllamadasentrantesdesde el telfono analgico (puerto 2 de la tarjeta TDM) se deben asociar al contexto [internal_calls]
[channels] usecallerid=yes hidecallerid=no callwaiting=no threewaycalling=yes transfer=yes echocancel=yes echotraining=yes context=incoming_pstn signalling=fxs_ls channel => 1 ;Aadimos un mdulo FXS
32
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 7.ESCENARIOBConectandolaRTB
7.3Actualizacindelplandemarcado
Necesitamosunnuevoplandemarcadocondosnuevasfuncionalidades: 1. 2. PermitirtantollamadasentrantescomosalientesporlaRTB(canalzapata1). Incluirelnuevoterminal(canalzapata2)anuestroplandemarcado.Elterminal analgico(FXO)enelTelecentrodebepoderhaceryrecibirllamadas.
Elficheroextensions.confparanuestrosegundoescenariotieneelsiguienteaspecto:
[incoming_pstn] exten => s,1,Answer() exten => s,2,DigitTimeout(10) exten => s,3,ResponseTimeout(20) exten => s,4,Background(vm-extension) exten => i,1,Goto(incoming_pstn,s,1) exten => t,1,Hangup() include => internal_calls [internal_calls] exten => 461,1,Dial(Zap/2) ; Extensin 461 llama por el canal Zap 2 exten => 462,1,Dial(SIP/462) exten => 463,1,Dial(SIP/463) exten => 465,1,Dial(SIP/465) exten => 464,1,Dial(IAX2/464) exten => 466,1,Dial(IAX2/466) exten => t,1,Hangup() exten => s,1,Hangup() exten => i,1,Hangup() include => outgoing_calls ; Salida RTB disponible a todos los clientes [outgoing_calls] exten => _0.,1,Dial(Zap/1/${EXTEN:1}) ; Quita el 0 antes de marcar por RTB exten => t,1,Hangup()
33
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 7.ESCENARIOBConectandolaRTB
8.ESCENARIOC ConectandocomunidadesusandoVoIP
EnnuestroterceryltimoescenarioqueremosconectarnuestroTelecentroconuncentrode capacitacinadistanciasituadoenotropas.Laconexindedatosserealizaratravsdeun enlace de satlite tipo VSAT. Una vez que tengamos funcionando la conexin a Internet podemosusarlapararealizartantollamadasinternacionalesalcentrodecapacitacincomoa otrosdestinos.
Imagen 10: Tanto el Telecentro como el Centro de Capacitacin tienen su centralita Asterisk.LascentralitasestninterconectadasgraciasaunenlacedesatlitetipoVSAT.
8.1Problemasmscomunesenenlacesvasatlite
LaconexinaInternetdesdeelTelecentrotieneunanchodebandamuylimitado(128/64 Kbps)porloquedebemosdisearunasolucinquehagaunusoptimodelanchodebanda disponible.EnelsiguienteejemploproponemosconectardoscentralitasusandoAsteriskyel protocoloIAX2devozsobreIP.AdemsdeusarIAX2enlugardeSIP,utilizaremosuncodec dealtacompresincomoelG.729.Paraterminar,activaremoseltrunkingdellamadasque permiteagregarvariasllamadassimultneasenelmismoflujodepaquetesIP. UnescenariomuycomnenentornosconVSATseslaescasezdedireccionesIPpblicasque seofrecenenlaconexinaInternet.SinotienesningunadireccinpblicaIPdisponiblepara tucentralitatienesqueasegurartedequeelpuertodecomunicacionesIAX2esvisibledesdeel exterior.ParahacervisibleelpuertodebesredirigirlasconexionesalpuertoUDP4569ala PBX.
Si tu conexin usa un enrutador del tipo Cisco con NAT tienes que usar una configuracinparecidaalasiguiente.
34
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 8.ESCENARIOCConectandocomunidadesusandoVoIP
#ip nat inside source static udp 192.168.46.1 4569 interface fastEthernet 0/0 4569
SituenrutadorusaLinuxpuedesredirigirlasconexionesalpuerto4569atumquina Asterisk(192.168.46.1)usandoelprogramadegestinderutas:iptables
#/sbin/iptables -t nat -A PREROUTING -p udp --dport 4569 -i eth0 -j DNAT --todestination 192.168.46.1:4569
IndependientementedeltipodeequipoqueestsusandoparaencaminartutrficoaInternet, lo realmente importante es recordar que tu centralita tiene que ser accesible desde el exterior.41
8.2InterconectandodosservidoresconAsterisk
8.2.1Telecentro
Elficherodeconfiguraciniax.confenelTelecentrodeberaparecersealsiguiente:
[general] bindaddr = 0.0.0.0 tos = lowdelay disallow = all allow = ulaw allow = g729
register => server2:server2pass@training_voip.org ; server2:server2pass es el usuario ; y clave que usamos para registrarnos ; Cuenta de usuario que usar el Centro de Capacitacin para registrarse con nosotros [server1] type=friend user=server1 secret=server1pass host=dynamic ; Aprendemos la direccin IP ; cuando se registran con nosotros context=incoming_training_centre_calls auth=md5 ; Aadimos seguridad en autentificacin disallow=all allow=g729 trunk=yes ; Activamos el trunking
El siguiente paso es decidir lo que hacemos con las llamadas provenientes del Centro de Capacitacin.Enelejemplohacemossonareltelfonoanalgico(Zap/2)enelTelecentro.
41. ElpuertopordefectodecomunicacionesIAX2esUDP4569.
35
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 8.ESCENARIOCConectandocomunidadesusandoVoIP
8.2.2Centrodecapacitacin
Elficheroiax.confdelcentrodecapacitacinessimilar:
[general] bindaddr = 0.0.0.0 tos = lowdelay disallow = all allow = g729 ; Usamos G.729 register => server1:server1pass@rural.telecentres.org ; Nos registramos como usuario server1 [server2] type=friend user=server2 secret=server2pass host=dynamic context=incoming_telecentres_calls auth=md5 disallow=all allow=g729 trunk=yes
DespusdeconfigurarelcanalIAX2enelCentrodeCapacitacin,vamosaaadirelcontexto [outgoing_telecentres_calls] y [incoming_telecentres_calls] para gestionar las llamadas salientesyentrantesal/desdeelTelecentro. Creamosunareglaenelplandemarcadoparaquelasllamadasqueempiecenpor88seenven alTelecentro(peer[server2]eniax.conf).
[outgoing_telecentres_calls] exten => _88.,1,Dial(IAX2/server1:server1pass@server2/${EXTEN:2}) exten => _88.,2, Congestion
Lasllamadas entrantesalCentrodeCapacitacinseredirigenauncentrodeatencin de usuario. En el siguiente ejemplo, las llamadas entrantes se reenvan al personal de ayuda usandouncanalSIP(SIP/supportdesk)
[incoming_telecentres_calls] exten => _X.,1,Dial(SIP/support-desk) ; Llamadas entrantes se envan al centro ; de atencin de usuario (Support Desk)42
8.2.3Lafuncinderegistro
NosepuedenrealizarllamadasaunpeerhastaqueseconozcasudireccinIP.Imagnatela situacindondeslounadelasdoscentralitastieneladireccinIPfija.Elprocesoderegistro permiteal peerhacerpblica sudireccinIPactual.Ennuestroejemploanteriorhemos
42. LacanalSIPqueseejecutaconDial()haciaelsupportdesk(serviciodeatencindeusuario)tieneque configurarseenlacentralitadelCentrodeCapacitacin.
36
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 8.ESCENARIOCConectandocomunidadesusandoVoIP
9.Paraaprenderms
UnodelosmejoreslibrossobreAsterisk es:Asterisk,TheFutureofTelephony,Jim VanMeggelen,JaredSmith,LeifMadsen.O'Really2005.LicenciaCreativeCommons. http://www.oreilly.com/catalog/asterisk/ Descargalibreen:http://www.asteriskdocs.org/modules/tinycontent/index.php?id=11 ParanoperderdevistaloqueestpasandoenelmundodelatelefonaIPpuedes consultar:http://www.oreillynet.com/etel/ ElsitioVoIPinfoesuna wiki enormeconcientosdeconsejosyayudas; aunque encontrarloqueunorealmentenecesitapuedellevarteunpocodetiempo http://www.voipinfo.org/wikiAsterisk+tips+and+tricks
10.Conclusin
EstaguaesunintentodeintroducirteenelmundodelatelefonaIP.Esperamosqueatravs dealgunosescenarios,habersidocapacesdehacerteconscientedelasinfinitasposibilidades que ofrece la telefona IP en regiones en desarrollo. La unin de la telefona IP con las tecnologas inalmbricas de bajo costo permite ofrecer servicios de voz y datos a regiones excluidas. Estas tecnologas promueven la creacin de nuevas redes comunitarias, redes operadasymantenidasporlascomunidades. Losficherosincluidoscomoejemplospretenderservirdeguaparaayudarteaponerenmarcha tu primer sistema de telefona. Ningn documento puede compararse con la experiencia personal;tenpaciencia!,tuperseveranciaeslaclaveparatuaprendizaje.Yrecuerdaqueno estssolosiemprepuedespedirayudaenlosforosdediscusinycompartirtuexperiencia conotros.Bienvenido/aalaunacomunidadimparabledeentusiastasdelatelefonaIP! Esperamostullamada!
11.Agradecimientos
Nosgustaraagradeceratodoslosquehanhechoestetrabajoposible: AdelElZaim(editorderabeyfrancs),AnasTawileh(traductoralrabe),IakiCvicoy SylviaCadena(editoresalcastellano),JohanBilien(traductoralfrancs)yMartinBenjamin (editoralingls).
37
El Centro Internacional de Investigaciones para el Desarrollo de Canad (IDRC) es una de las instituciones lderes en la generacin y aplicacin de nuevos conocimientos para resolver los retos de la desarrollointernacional.ElIDRCcuentaconmsde 30aosdecolaboracinconinvestigadoresenregiones endesarrolloensutrabajoporcrearsociedadesms prsperasyequitativas.
IT+46,www.it46.seDiciembre2006