{"id":733,"date":"2012-11-01T10:12:31","date_gmt":"2012-11-01T09:12:31","guid":{"rendered":"http:\/\/diablo.craem.net\/wordpress\/?p=733"},"modified":"2012-11-01T10:12:31","modified_gmt":"2012-11-01T09:12:31","slug":"simular-extension-mobility-con-asterisk","status":"publish","type":"post","link":"https:\/\/diablo.craem.net\/?p=733","title":{"rendered":"Simular extension mobility con asterisk"},"content":{"rendered":"<p>Esta entrada es otro apunte.<br \/>\nHace poco, uno de los clientes donde tengo un asterisk, tienen varios empleados que hacen teletrabajo y, quer\u00ed\u00adan llevarse la extensi\u00f3n a casa&#8230;.. sabemos de sobras que asterisk no soporta <em>parallel forking<\/em> y, hab\u00ed\u00ada que buscar la manera de hacerlo mediante dialPlan.<br \/>\nEl tema consiste en:<br \/>\n1\u00ba) El usuario tiene un softphone configurado en su pc y se conecta por VPN<br \/>\n2\u00ba) El Usuario, tiene su extens\u00f3n, por ejemplo 240 y en casa quiere tener la misma.<br \/>\n3\u00ba) El usuario, cuando est\u00e1 en casa querr\u00e1 que el cliente vea que est\u00e1 en la oficina \ud83d\ude09<br \/>\nDe esta manera, la operadora de la centralita, tan s\u00f3lo tiene que preocuparse de pasarle la llamada a su extensi\u00f3n habitual, al igual que sus compa\u00f1eros.<br \/>\nSabiendo de antemano que no podemos tener 2 extensiones iguales registradas, vamos a hacer \u00abel apa\u00f1o\u00bb con el dialPlan; en este caso, a las extensiones remotas les a\u00f1adiremos un 3 delante.<br \/>\nShow me the code \ud83d\ude09<br \/>\nEn el <em>sip.conf<\/em>, definimos las extensiones:<br \/>\n<code><br \/>\n[240](extension)<br \/>\nusername=240<br \/>\ncallerid=\"INFORMATICA\" <240><br \/>\nsecret=xxxxxx<br \/>\nmailbox=200<br \/>\n[3240](extension)<br \/>\nusername=3240<br \/>\ncallerid=\"INFORMATICA\" <240><br \/>\nsecret=xxxxxx<br \/>\nmailbox=200<br \/>\n<\/code><br \/>\nTenemos la 240 que es la del tel\u00e9fono y la 3240 que es la remota.<br \/>\nAhora, una funci\u00f3n para habilitar el extension Mobility falso ;-). Editamos el extensions.conf y con la 342 habilitamos y con el 343 deshabilitamos:<br \/>\n<code><br \/>\nexten => 342,1,NoOP(...: desvio extensiones remotas activado :...)<br \/>\nexten => 342,n,Playback(call-fwd-unconditional&enabled)<br \/>\nexten => 342,n,Set(DB(${CALLERID(num)}\/remoto)=1)<br \/>\nexten => 342,n,Hangup<br \/>\nexten => 343,1,NoOP(...: desvio extensiones remotas desactivado :...)<br \/>\nexten => 343,n,Playback(call-fwd-unconditional&disabled)<br \/>\nexten => 343,n,Set(DB(${CALLERID(num)}\/remoto)=0)<br \/>\nexten => 343,n,Hangup<br \/>\n<\/code><br \/>\nGuardamos en la ASTDB una clave \/ valor tal que: 240 \/ 1 o 240\/0 (1 habilitado y 0 deshabilitado)<br \/>\nY ahora la magia del dialplan, en el extensions.conf:<br \/>\n<code><br \/>\nexten => _2XX,1,NoOp(Llamada entre extensiones)<br \/>\nexten => _2XX,n,NoOP(comprobamos que tiene el desvio a extension de casa)<br \/>\nexten => _2XX,n,Set(remoto_activo=0) \/\/ inicializamos variable y la ponemos a 0<br \/>\nexten => _2XX,n,Set(remoto_activo=${DB(${EXTEN}\/remoto)}) \/\/ preguntamos y seteamos variable<br \/>\nexten => _2XX,n,NoOP(${remoto_activo}) \/\/ lo printamos en pantalla para debug<br \/>\nexten => _2XX,n,GotoIf($[\"${remoto_activo}\" = \"1\"]?desvio) \/\/ si activo, pasamos a (desvio)<br \/>\nexten => _2XX,n,NoOP(llamando de la ${CALLERID(num)} a la:${EXTEN})<br \/>\nexten => _2XX,n,Dial(SIP\/${EXTEN},60,tTwWm) \/\/ llamamos normal<br \/>\nexten => _2XX,n(desvio),Dial(SIP\/3${EXTEN},60,tTwWm) \/\/ a\u00f1adimos el 3 delante<br \/>\nexten => _2XX,n,Hangup()<br \/>\n<\/code><br \/>\nGuardamos, hacemos un reload y listo.<br \/>\nS\u00e9 que no es una manera elegante, pero vemos que con un poquito de BBDD y programaci\u00f3n de dialPlan, la posibilidades son casi infinitas.<br \/>\nEnjoy your mobility \ud83d\ude09<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Esta entrada es otro apunte. Hace poco, uno de los clientes donde tengo un asterisk, tienen varios empleados que hacen teletrabajo y, quer\u00ed\u00adan llevarse la extensi\u00f3n a casa&#8230;.. sabemos de sobras que asterisk no soporta parallel forking y, hab\u00ed\u00ada que buscar la manera de hacerlo mediante dialPlan. El tema consiste en: 1\u00ba) El usuario tiene [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,5,8],"tags":[28,64,74,75,171],"class_list":["post-733","post","type-post","status-publish","format-standard","hentry","category-asterisk","category-linux","category-varios","tag-asterisk-2","tag-dialplan","tag-extension-mobility","tag-extensions-conf","tag-sip-conf"],"_links":{"self":[{"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/posts\/733","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=733"}],"version-history":[{"count":0,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/posts\/733\/revisions"}],"wp:attachment":[{"href":"https:\/\/diablo.craem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=733"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=733"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=733"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}