que es

miércoles, 26 de octubre de 2022

Conectar dos llamadas externas.

Se genera un archivo .call para sacar la llamada.

Y se configura un contexto para conectar la segunda llamada.

Habilitar permisos de ejecución en el archivo, con propietario y usuario "asterisk" ; si el que se configura.

out.call

 Channel: SIP/GWCOMCEL/6028879022

Context: app

Extension: 194

Priority: 1

Set: num=3123015689


contexto va en:

extensions_custom.conf

[cliente]

exten => 194,1,Answer()

  same => n,DumpChan(3,)

  same => n,NoOP("varible enviada ${num}")

  ;same => n,Playback(es/welcome&es/calls-waiting-for-rep)

  ;same => n,Dial(SIP/GWCOMCEL/${EXTEN:1})

  ;;

  ;same => n,Dial(SIP/GWCOMCEL/${num},,A(welcome)&L(10000))

 ;; 10 segundos L. 10 x 1000 msegundos.

  ;same => n,Dial(SIP/GWCOMCEL/${num},,A(es/calls-waiting-for-rep)&L(10000) )
  ;; 5 minutos 5 x 60 segundos.
  same => n,Dial(SIP/GWCOMCEL/${num},,A(es/calls-waiting-for-rep)&S(300)  )
  same => n,Hangup()

grabación de llamadas pero debe estar activo el caller id en el archivo.

same => n,Gosub(sub-record-check,s,1(app,${num},always,))

Para enviar los archivos al outgoing de asterisk se realiza de esta forma.

cp -ap outcall_cliente.call /tmp && mv /tmp/outcall_cliente.call /var/spool/asterisk/outgoing/

se copia el archivo a /tmp  y después se mueve a la carpeta de asterisk outgoing.
Se realiza de esta forma para el sistema operativo no presente error si se copia el archivo y no se mueve.

martes, 4 de octubre de 2022

script rsync

 El script rsync se usa para copia directorios hacia otra particion.

se debe montar la partición realizar la copia.

después desmontar y montar con fstab.

#!/bin/bash

copia="/var/spool/asterisk/monitor/"      #asi copia la carpeta monitor
destino="/mnt/audios"

#rsync -avzh --progress  /var/spool/asterisk/monitor /mnt/audios

rsync -avzh --progress  $copia $destino

tener en cuenta la barra slash  "/"  si esta con está barra copia solo los archivos y sin ella copia la carpeta.


#!/bin/bash

copia="/mnt/audios/monitor/*"     # asi copia solo los archivos dentro de la carpeta monitor.
destino="/mnt/audios/"

#rsync -avzh --progress  /var/spool/asterisk/monitor /mnt/audios

rsync -avzh --progress  $copia $destino




lunes, 26 de septiembre de 2022

script bash matar procesos

se crea un archivo en bash con un nombre y extensión  "sh"  nombre.sh.

se dan permisos de ejectución chmod +x nombre.sh

se ejecuta ./nombre.sh  nombreDelProcesoAmatar.

./nombre.sh firefox 

Nota: tener en cuenta los  "backticks" o comillas invertidas.

#!/bin/sh

kill -9 `ps -ef|grep -v grep |grep $1| awk '{print $2}'`

lunes, 12 de septiembre de 2022

rc.local

 rc.local un archivo para dejar los script que cuando la máquina se reinicie esto se activan.

systemctl status rc-local.service

Ahora en Centos7 rc.local hay que activarlos con systemd.


systemctl enable rc-local.service

systemctl status rc-local.service

systemctl start rc-local.service


O crear un servicio para el script.


bibliografia:

https://www.redhat.com/sysadmin/replacing-rclocal-systemd

martes, 30 de agosto de 2022

wireshark sip ht503 grandstream

 ## llamar dejar 10 segundos sin hablar colgar de donde llama movil o linea fija.

## volver a llamar dejar 20 segundos pero cuelga desde donde contesta la llamada,  extensión.

###

tcpdump -i eth1 udp port 5060 or udp portrange 10000-20000 -s 0 -w /tmp/trunk_`date +%m%d%Y-%H%M`.cap

tcpdump -i eth1 host 192.168.50.252 and udp port 5060 or udp portrange 10000-20000 -s 0 -w /tmp/trunk_08302022_1005.cap

tcpdump -i eth1 udp port 5060 or udp portrange 10000-20000 -s 0 -w /tmp/trunk_claro.cap


viernes, 22 de julio de 2022

linux logs rotation

configurando la rotación de logs en linux:

/etc/logrotate.d

 vi nameFileLog.logrotate

/var/log/asterisk/ecus.txt {
   missingok
   rotate 2
   daily
   su asterisk asterisk
}

jueves, 21 de julio de 2022

python gtts

file tts.py

libraries

from gtts import gTTS

# The text that you want to convert to audio
mytext = "Bienvenido toroautos"

# Language in which you want to convert
language = 'en'

# Passing the text and language to the engine
tts = gTTS(text=mytext, lang=language, slow=False)

# Saving the converted audio in a wav file named sample
tts.save('tts.mp3')


Call

[tts]
exten => 220,1,Answer
    same => n,Background(welcome)
    same => n,Set(result=$(SHELL(python3 py/tts.py )))
    same => n,Background(py/tts.mp3)
    same => n,Background(es/thanks-for-calling-today.gsm)
    same => n,Hangup()