1.搭建opensips (sip服务端)
基于ubuntu x86硬件,采用docker方式
docker方式安装参考下面的文章:
opensips 使用docker部署配置 ip网络电话_huyunfei的专栏-CSDN博客_docker opensips(参考上面这篇安装,结果发现按上面操作不能用,怎么配置数据库没讲)
使用docker搭建 opensips3.1_死磕音视频-CSDN博客_docker opensips
(上面这篇文章涉及到讲解docker 网络)
操作docker相关命令:
拉取镜像: docker pull opensips/opensips:3.0
从官网hub.docker.com拉镜像
创建镜像: docker run -d -it --name sip -p 5060:5060/udp opensips/opensips:3.0
第1次运行采用这种方式,将容器名字命名成sip
拷贝文件: docker cp opensips.cfg sip:/etc/opensips/opensips.cfg启动容器: docker start sip
停止容器: docker stop sip
重启容器: docker restart sip
删除容器: docker rm -f sip(容器名字 NAMES)容器终端: docker exec -it sip /bin/bash
进入容器终端
显示所有容器IP地址:
docker inspect --format='{{.Name}} - {{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)针对单个容器查看IP: docker inspect 容器ID | grep IPAddress
docker inspect sip | grep IPAddress
配置opensips.cfg
<1>.拷贝出文件 : docker cp sip:/etc/opensips/opensips.cfg .
<2>.修改opensips.cfg文件,见图1-1
<3>.再拷贝进容器: docker cp opensips.cfg sip:/etc/opensips/opensips.cfg
<4>.重启容器 : docker restart sip
图1-1 opensips.cfg修改
1.1 docker网络
dockek网络之桥接模式
Bridge桥接模式的缺陷:
1.最明显的是,该模式下 Docker Container 不具有一个公有 IP,即和宿主机的 eth0 不处于同一个网段。导致的结果是宿主机以外的世界不能直接和容器进行通信。
2.虽然 NAT 模式经过中间处理实现了这一点,但是 NAT 模式仍然存在问题与不便,如:容器均需要在宿主机上竞争端口,容器内部服务的访问者需要使用服务发现获知服务的外部端口等。
3.另外 NAT 模式由于是在三层网络上的实现手段,故肯定会影响网络的传输效率。
2.安装linphone (sip客户端)
windows版本下载地址:https://www.linphone.org/releases/windows/app/Linphone-4.2.2-win32.exe
使用介绍参考地址: