Este es el problema persistente más largo desde que aprendí a construir el servidor opensips Específicamente, el software del teléfono terminal no ha podido registrar la cuenta de sesión SIP creada. El software del teléfono terminal que utilicé al principio era Zoiper, que estaba registrado todo el tiempo o no se registraba directamente. Más tarde, busqué en línea y descargué Microsip nuevamente. Puede mostrar el motivo del error de registro, como el la solicitud agotó el tiempo de espera, lo cual es más conveniente.
De acuerdo con la consulta en línea, puede usar la herramienta sngrep para capturar y analizar paquetes. Debe descargar esta herramienta por primera vez:
#sudo apt-get install sngrep
Entonces directamente sngrep
#sngrep
Parecía que el servidor SIP no recibía ningún mensaje enviado por la terminal. Al principio pensé que era un problema con el archivo de configuración, como que la dirección IP o el número de puerto no estaban escritos correctamente.
#cd /usr/local/etc/opensips
#vim abresips.cfg
#vim openipsctlrc
#vim /etc/predeterminado/opensips
#vim /etc/init.d/opensips
No hay problema con la configuración Para el contenido del archivo de configuración específico, consulte http://t.csdn.cn/7NezY
Revisé muchas soluciones en Internet, como modificar el archivo de configuración /usr/local/etc/opensips/opensips.cfg:
Agregar su propia dirección IP del servidor SIP aún no funciona. Modificar la configuración del panel de control:
De ninguna manera.
Después vi en Internet que era porque el firewall restringía el puerto 5060, es decir, el puerto 5060 seguía abierto.
#netstat-anp
#netstat-ulpn | Empuñadura 5060
Muestre la ocupación de todos los puertos/protocolos, y no hay ocupación de 5060 como se esperaba.
En primer lugar, creo que puede ser el puerto 5060 restringido por el firewall del host y la información enviada a través del puerto 5060 no se puede recibir, por lo que se realizan las siguientes configuraciones:
Panel de control—>Firewall de Windows—>Configuración avanzada—>Reglas de entrada—>Nuevas reglas—>Puerto—>Protocolo (udp)—>Puerto local específico (5060)—>Permitir conexión—— > Marque "Dominio, Privado, Empresa" --> Nombre --> Listo
Todavía no resolvió el problema.
Luego, el firewall del servidor SIP, abra el puerto 5060 con el comando
#iptables -I ENTRADA -p tcp --dport 5060 -j ACEPTAR
#iptables -I ENTRADA -p udp --dport 5060 -j ACEPTAR
#iptables-guardar
Luego ejecutó #dmesg de acuerdo con las instrucciones y ocurrieron otros problemas, como:
La consulta en línea decía que la capacidad del disco virtual del servidor SIP no es suficiente y es necesario aumentar la capacidad:
#df-h
Consulta el uso de espacio de cada dispositivo:
Después de cambiar la capacidad del disco asignada cuando se creó Ubuntu (la máquina virtual debe apagarse antes de cambiar), reasignar (el método específico se puede encontrar en línea). De todos modos, esta ola de operación sigue siendo inútil.
****************************************************
Debería ser que el comando para abrir el puerto en el firewall es incorrecto.Se encuentra que el firewall utilizado por Ubuntu 18.04 es ufw:
① Comprobar el estado del cortafuegos
#sudo ufw estado
El firewall está habilitado. Si está deshabilitado, puede habilitarse con #sudo ufw enable.
② Instale firewalld y abra el puerto 5060.
#sudo apt-get install firewalld
#sudo firewall-cmd --permanente --add-port=560/udp
#sudo cortafuegos-cmd --list-all
③Reiniciar el firewall (énfasis)
#sudo systemctl recargar firewalld
o
#firewall-cmd --recargar
La cuenta SIP aún no se registró correctamente. Después de pensar mucho, descubrí que el firewall también puede restringir el protocolo UDP y no abrir el protocolo. Como se muestra en la figura anterior, el elemento de protocolos no tiene contenido.
#sudo firewall-cmd --permanente --add-protocol=udp
Reinicie el cortafuegos de nuevo #firewall-cmd --reload .
El teléfono Microsip se muestra en línea y el problema finalmente se resolvió:
#netstat-ulpn | Empuñadura 5060
También hay una ocupación del puerto 5060:
Nota: Es un resumen de estudio personal, corríjame si hay algún error.