Nginx用做sip代理

编程入门 行业动态 更新时间:2024-10-27 08:27:48

<a href=https://www.elefans.com/category/jswz/34/1771256.html style=Nginx用做sip代理"/>

Nginx用做sip代理

=s_pcqq_aiomsg

看了这篇文章的方案一,我专门试了试,记录如下:

测试环境为:

fs1(5080 --- nginx --- fs2(5060)

局域网同一个网段,fs1把呼叫送到nginx的5060,后者代理到fs2的5060

第一步,fs1和fs2默认配置,sip call flow如下:

fs1       nginx        fs2

    invite--->

                  invite--->            

                 <---200

<---200

ack------------------->

坏了,ack直接发到fs2,没有经过nginx

第二步,调整fs1和fs2的配置,ext-sip-ip指向nginx,localnet.auto deny所有

再测试,现在ack可以经过nginx,bye也正常

第三步,继续调整fs1和fs2配置,ext-rtp-ip指向nginx,rtp也可以通过nginx转发,最后的结果是:

fs1                        nginx                       fs2

              sip5080<----

                                 --->sip 5060

         rtp(2000-2099) <---

                                 --->rtp(30000-30099)

结论到底如何,看官来总结吧

最后附上nginx配置文件:

#fs1:
#192.168.1.126
#sip:5080
#rtp:2000-2099#nginx
#192.168.100.75#fs2:
#192.168.1.12
#sip:5060
#rtp:30000-30099user  root;
worker_processes  auto;error_log  /var/log/nginx/error.log debug;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {include       /etc/nginx/mime.types;default_type  application/octet-stream;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile        on;keepalive_timeout  65;include /etc/nginx/conf.d/*.conf;
}stream {log_format proxy '$proxy_protocol_addr $remote_addr [$time_local] ''$protocol $status $bytes_sent $bytes_received ''$session_time "$upstream_addr" ''"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"';server {listen 5060;access_log /var/log/nginx/tcp/5060_access.log proxy;error_log  /var/log/nginx/tcp/5060_error.log debug;proxy_timeout 5s;proxy_pass 192.168.1.12:5060;}server {listen 5060 udp reuseport;access_log /var/log/nginx/udp/5060_access.log proxy;error_log  /var/log/nginx/udp/5060_error.log debug;proxy_timeout 5s;proxy_pass 192.168.1.12:5060;}# rtp to 192.168.1.12:30000-30099/udpserver {listen 30000-30099 udp reuseport;access_log /var/log/nginx/udp/30000-30099_access.log proxy;error_log  /var/log/nginx/udp/30000-30099_error.log debug;proxy_timeout 5s;proxy_responses 1;proxy_pass 192.168.1.12:$server_port;}# sip to 192.168.1.126:5080/tcpserver {listen 5080;access_log /var/log/nginx/tcp/5080_access.log proxy;error_log  /var/log/nginx/tcp/5080_error.log debug;proxy_timeout 5s;proxy_pass 192.168.1.126:5080;}# sip to 192.168.1.126:5080/udpserver {listen 5080 udp reuseport;access_log /var/log/nginx/udp/5080_access.log proxy;error_log  /var/log/nginx/udp/5080_error.log debug;proxy_timeout 5s;proxy_pass 192.168.1.126:5080;}# rtp to 192.168.1.126:2000-2099/udpserver {listen 2000-2099 udp reuseport;access_log /var/log/nginx/udp/2000-3000_access.log proxy;error_log  /var/log/nginx/udp/2000-3000_error.log debug;proxy_timeout 5s;proxy_responses 1;proxy_pass 192.168.1.126:$server_port;}
}

更多推荐

Nginx用做sip代理

本文发布于:2023-11-15 14:17:26,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1601088.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Nginx   sip

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!