Ejemplos de Integración API Mikrotik · •Como funciona la API de Mikrotik: –A través del...

Preview:

Citation preview

EjemplosdeIntegraciónAPIMikrotik

MUMMontevideo2017

AgendaHablaIPIntegración & Desarrollo

• Introducción• EjemplobásicoconPHP• IntegraciónAsterisk &Hotspot• IntegraciónAndroid &HotSpot• EjemploenC#conPRTG• Q&A

SobrenosotrosHablaIPIntegración & Desarrollo

• AdolfoTroncoso<adolfo.troncoso@hablaip.com>– Desarrolladorconmásde20añosdeexperienciaenprogramacióndeaplicacionesdesktop,webymóvilesconintegraciónentelemetríayprocesosdenegocio.

–MTCNA- MTCTCE• JaimeCruzM.<jaime.cruz@hablaip.com>– Integradordesistemasconmásde10añosdeexperienciaentelecomunicaciones,SistemasLinux,Asterisk ytelefoníaIP.

–MTCNA- MTCTCE

SobreHablaIPHablaIPIntegración & Desarrollo

www.Hablaip.comSantiagodeChile

• Iniciosenel2015• Asesoríaysoporte• Desarrollodeaplicaciones– Telefonía,SMS– AplicacionesAndroid

• Integracióndesistemas–Monitoreo– Geolocalización

AgendaHablaIPIntegración & Desarrollo

• Introducción• EjemplobásicoconPHP• IntegraciónAsterisk &Hotspot• IntegraciónAndroid &HotSpot• EjemploenC#conPRTG• Q&A

IntroducciónHablaIPIntegración & Desarrollo

• Quees?–VienedelinglésApplication ProgrammingInterface–esunconjuntodefuncionesquepermitencontrolarunMikrotik desdeunsistemaexterno

• ComofuncionalaAPIdeMikrotik:– AtravésdelenvíodecomandoyrecepcióndelresultadodesuejecuciónutilizandoelprotocoloTelnetalpuertopordefecto8728/tcp.

IntroducciónHablaIPIntegración & Desarrollo

• Comandossimples:/login/system/reboot/user/active/listen

• Comandosconatributos:/queue/simple/add=max-limit=256k/1M=name=Cli=target=10.10.10.0/24(consultadeinterfaces)/interface/print?type=ether?type=vlan?#|!

IntroducciónHablaIPIntegración & Desarrollo

• Ejemplodetrazadecomando/login:

IntroducciónHablaIPIntegración & Desarrollo

• Consultadeinformaciónsystema:

IntroducciónHablaIPIntegración & Desarrollo

• Hayunaformafacil deusalaAPIdeMikrotik¿?

HablaIPIntegración & Desarrollo

• Existenlibreríaspara– PHP– Delphi– C/++/#– Python– Rubyon rails– VB.Net– Java– Perl– Etc.

Introducción

AgendaHablaIPIntegración & Desarrollo

• Introduccion• EjemplobásicoconPHP• IntegraciónAsterisk &Hotspot• IntegraciónAndroid &HotSpot• EjemploenC#conPRTG• Q&A

EjemploPHPHablaIPIntegración & Desarrollo

• HabilitarAPIenMikrotik– IP->Service– Enable “api”– Aplicarseguridadalservicio“api”

EjemploPHPHablaIPIntegración & Desarrollo

• Crearun“Group List”– AplicarPolicies:“api,read,write”

EjemploPHPHablaIPIntegración & Desarrollo

• Crearunusuario– Crearusuario– Asignargrupo“geo-api”– Aplicarseguridad

EjemploenPHPHablaIPIntegración & Desarrollo

• Libreríasdeejemplo(DenisBasta)https://wiki.mikrotik.com/wiki/API_PHP_class(KamilTrzcinski)GPLhttps://wiki.mikrotik.com/wiki/RouterOS_PHP_class(Vasil Rangelov)LGPL2.1https://wiki.mikrotik.com/wiki/API_PHP_package

HablaIPIntegración & Desarrollo

• EjemplocódigoPHPconsulta– UtilizaclasePHPgentileza:DenisBasta[http://wiki.mikrotik.com/wiki/API_PHP_class]

EjemploenPHP

EjemploenPHPHablaIPIntegración & Desarrollo

DEMOSTRACION

AgendaHablaIPIntegración & Desarrollo

• Introduccion• EjemplobásicoconPHP• IntegraciónAsterisk &Hotspot• IntegraciónAndroid &HotSpot• EjemploenC#conPRTG• Q&A

Asterisk &HotSpotHablaIPIntegración & Desarrollo

• CreacióndeaccesosHotSpot basadosenelnúmerodeanexodelahabitaciónparapoderidentificarfácilmentecadausuario

– Usuario=númerodehabitación(ej.1020)– Clave=IngresadaporelusuariodesdesuanexoporDTFM

Asterisk &HotSpotHablaIPIntegración & Desarrollo

• CreacióndeaccesosHotSpot basadosenelnúmerodeanexodelahabitaciónparapoderidentificarfácilmentecadausuario– Usuario=númerodeanexo(ej.1020)– Clave=Ingresadaporelusuariodesdesuanexo

API

Asterisk &HotSpotHablaIPIntegración & Desarrollo

• IngresoalHotSpot mediantenro.habitación

Asterisk &HotSpotHablaIPIntegración & Desarrollo

• CreaciónIVRenAsterisk: extensions.conf

demo:29040172

Asterisk &HotSpotHablaIPIntegración & Desarrollo

• CreaciónIVRenAsterisk: extensions.conf

• Debug deconsoladeAsterisk

demo:29040172

Asterisk &HotSpotHablaIPIntegración & Desarrollo

• Creacióndeusuario/clavevíaAPIdeMikrotik

demo:29040172

Asterisk &HotSpotHablaIPIntegración & Desarrollo

• Creacióndeusuario/clavevíaAPIdeMikrotik

demo:29040172

ComandodecreacióndeusuarioHotSpot Mikrotik

Asterisk &HotSpotHablaIPIntegración & Desarrollo

DEMOSTRACION

+(598)29040172

AgendaHablaIPIntegración & Desarrollo

• Introduccion• EjemplobásicoconPHP• IntegraciónAsterisk &Hotspot• IntegraciónAndroid &HotSpot• EjemploenC#conPRTG• Q&A

Android&HotSpotHablaIPIntegración & Desarrollo

• Creacion deaccesosHotSpot basadosenunmensajeSMS– Usuario=númerodeteléfonomóvil– Clave=generadaautomáticayenviadaporSMS

wifi

Suclavees:5476

APIMikrotik

Android&HotSpotHablaIPIntegración & Desarrollo

• Ejemplodemensajeríadeenvío&respuesta

wifi

Suclavees:5476

APIMikrotik

Android&HotSpotHablaIPIntegración & Desarrollo

• Númerodemo+59895299847• Enviarmensaje:wifi

Android&HotSpotHablaIPIntegración & Desarrollo

DEMOSTRACION

+59895299847

AgendaHablaIPIntegración & Desarrollo

• Introduccion• EjemplobásicoconPHP• IntegraciónAsterisk &Hotspot• IntegraciónAndroid &HotSpot• EjemploenC#conPRTG• Q&A

C#&MikrotikHablaIPIntegración & Desarrollo

• EjemplocódigoC#consultas– UtilizaclaseC#deWikiMikrotik[https://wiki.mikrotik.com/wiki/API_in_C_Sharp]

C#&MikrotikHablaIPIntegración & Desarrollo

• CreacióndeunPlugIN demonitoreoenC#parasistemaPRTG.

DispositivoMikrotik HotSpotSensorvíaAPIdeMikrotik

C#&MikrotikHablaIPIntegración & Desarrollo

• SeintegróunsensordeMikrotik víaAPI– NúmerodeusuariosHotSpot activos– NúmerodeusuariosHotSpot creados

SensorcreadoenVisualC#conAPIdeMikrotik

C#&MikrotikHablaIPIntegración & Desarrollo

UsuariosactivosenMikrotikHotSpot

C#&MikrotikHablaIPIntegración & Desarrollo

Gráficodeusuarioscreados/activosenMikrotik

HotSpot

C#&MikrotikHablaIPIntegración & Desarrollo

• EjecutableenC#contraAPIMikrotik consulta:– NúmerodeusuariosHotSpot activos– NúmerodeusuariosHotSpot creados

API

C#&MikrotikHablaIPIntegración & Desarrollo

• EjecutableenC#contraAPIMikrotik:

API

ConsultadetodoslosusuariosenHotSpot Mikrotik

C#&MikrotikHablaIPIntegración & Desarrollo

AsíseveenelresultadoenPRTG

AgendaHablaIPIntegración & Desarrollo

• Introducción&Elproblema• Dashboard conAPIMikrotik• IntegraciónAsterisk &Hotspot• IntegraciónAndroid &HotSpot• MonitoreointegradoconPRTG• PotencialidaddelaAPIMikrotik

PotencialdeAPIMikrotikHablaIPIntegración & Desarrollo

• PosibilidaddeintegraciónconcualquiersistemaatravésdeunaredTCP/IP.– ConosinInternet

• Existelibreríasenmúltipleslenguajes– PHP,Python,Delphi,C#,etc.

PotencialdeAPIMikrotikHablaIPIntegración & Desarrollo

• Ejemplospresentadoshoy:

PosibilidadesLÍMITADASsoloportuimaginación

HablaIPIntegración & Desarrollo

Q&A

EjemplosdeIntegraciónAPIMikrotik

MUMMontevideo2017

Recommended