EjemplosdeIntegraciónAPIMikrotik
MUMMontevideo2017
AgendaHablaIPIntegración & Desarrollo
• Introducción• EjemplobásicoconPHP• IntegraciónAsterisk &Hotspot• IntegraciónAndroid &HotSpot• EjemploenC#conPRTG• Q&A
SobrenosotrosHablaIPIntegración & Desarrollo
• AdolfoTroncoso<[email protected]>– Desarrolladorconmásde20añosdeexperienciaenprogramacióndeaplicacionesdesktop,webymóvilesconintegraciónentelemetríayprocesosdenegocio.
–MTCNA- MTCTCE• JaimeCruzM.<[email protected]>– 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