Pjsip showo endpoints
Endpoint: <Endpoint/CID.....................................> <State.....> <Channels.>
I/OAuth: <AuthId/UserName...........................................................>
Aor: <Aor............................................> <MaxContact>
Contact: <Aor/ContactUri..........................> <Hash....> <Status> <RTT(ms)..>
Transport: <TransportId........> <Type> <cos> <tos> <BindAddress..................>
Identify: <Identify/Endpoint.........................................................>
Match: <criteria.........................>
Channel: <ChannelId......................................> <State.....> <Time.....>
Exten: <DialedExten...........> CLCID: <ConnectedLineCID.......>
==========================================================================================
Endpoint: 0000f30A0A01 Unavailable 0 of inf
InAuth: 0000f30A0A01/0000f30A0A01
Aor: 0000f30A0A01 1
Endpoint: 0000f30B0B02 Unavailable 0 of inf
InAuth: 0000f30B0B02/0000f30B0B02
Aor: 0000f30B0B02 1
Endpoint: SOFTPHONE_A Unavailable 0 of inf
InAuth: SOFTPHONE_A/SOFTPHONE_A
Aor: SOFTPHONE_A 2
Endpoint: SOFTPHONE_B Unavailable 0 of inf
InAuth: SOFTPHONE_B/SOFTPHONE_B
Aor: SOFTPHONE_B 2
Objects found: 4
Installed using this
---
- hosts: starfish
become: yes
vars:
# Use these on the first run of this playbook
current_mysql_root_password: ""
updated_mysql_root_password: "YouNeedAReallyGoodPassword"
current_mysql_asterisk_password: ""
updated_mysql_asterisk_password: "YouNeedAReallyGoodPasswordHereToo"
# Comment the above out after the first run
# Uncomment these for subsequent runs
# current_mysql_root_password: "YouNeedAReallyGoodPassword"
# updated_mysql_root_password: "{{ current_mysql_root_password }}"
# current_mysql_asterisk_password: "YouNeedAReallyGoodPasswordHereToo"
# updated_mysql_asterisk_password: "{{ current_mysql_asterisk_password }}"
tasks:
- name: Install epel-release
dnf:
name: epel-release
state: present
- name: Install dependencies
dnf:
name: ['vim', 'wget', 'MySQL-python']
state: present
- name: Install the MySQL repo.
dnf:
name: http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
state: present
- name: Install mysql-server
dnf:
name: mysql-server
state: present
- name: Override variables for MySQL (RedHat).
set_fact:
mysql_daemon: mysqld
mysql_packages: ['mysql-server']
mysql_log_error: /var/log/mysqld.err
mysql_syslog_tag: mysqld
mysql_pid_file: /var/run/mysqld/mysqld.pid
mysql_socket: /var/lib/mysql/mysql.sock
when: ansible_os_family == "RedHat"
- name: Ensure MySQL server is running
service:
name: mysqld
state: started
enabled: yes
- name: update mysql root pass for localhost root account from local servers
mysql_user:
login_user: root
login_password: "{{ current_mysql_root_password }}"
name: root
host: "{{ item }}"
password: "{{ updated_mysql_root_password }}"
with_items:
- localhost
- name: update mysql root password for all other local root accounts
mysql_user:
login_user: root
login_password: "{{ updated_mysql_root_password }}"
name: root
host: "{{ item }}"
password: "{{ updated_mysql_root_password }}"
with_items:
- "{{ inventory_hostname }}"
- 127.0.0.1
- ::1
- localhost.localdomain
- name: create asterisk database
mysql_db:
login_user: root
login_password: "{{ updated_mysql_root_password }}"
name: asterisk
state: present
- name: asterisk mysql user
mysql_user:
login_user: root
login_password: "{{ updated_mysql_root_password }}"
name: asterisk
host: "{{ item }}"
password: "{{ updated_mysql_asterisk_password }}"
priv: "asterisk.*:ALL"
with_items:
- "{{ inventory_hostname }}"
- 127.0.0.1
- ::1
- localhost
- localhost.localdomain
- name: remove anonymous user
mysql_user:
login_user: root
login_password: "{{ updated_mysql_root_password }}"
name: ""
state: absent
host: "{{ item }}"
with_items:
- localhost
- "{{ inventory_hostname }}"
- 127.0.0.1
- ::1
- localhost.localdomain
- name: remove test database
mysql_db:
login_user: root
login_password: "{{ updated_mysql_root_password }}"
name: test
state: absent
- user:
name: asterisk
state: present
createhome: yes
- group:
name: asterisk
state: present
- user:
name: astmin
groups: asterisk,wheel
state: present
- name: Install other dependencies
dnf:
name:
- unixODBC
- unixODBC-devel
- mysql-connector-odbc
- MySQL-python
- tcpdump
- ntp
- ntpdate
- jansson
- bind-utils
state: present
# Tweak the firewall for UDP/SIP
- firewalld:
port: 5060/udp
permanent: true
state: enabled
# Tweak firewall for UDP/RTP
- firewalld:
port: 10000-20000/udp
permanent: true
state: enabled
- name: Ensure NTP is running
service:
name: ntpd
state: started
enabled: yes
# The libmyodbc8a.so file is versioned, so if you don't have version 8, see what the
# /usr/lib64/libmyodbc<version>a.so file is, and refer to that instead
# on your 'Driver64' line, and then run the playbook again
- name: update odbcinst.ini
lineinfile:
dest: /etc/odbcinst.ini
regexp: "{{ item.regexp }}"
line: "{{ item.line }}"
state: present
with_items:
- regexp: "^Driver64"
line: "Driver64 = /usr/lib64/libmyodbc8a.so"
- regexp: "^Setup64"
line: "Setup64 = /usr/lib64/libodbcmyS.so"
- name: create odbc.ini
blockinfile:
path: /etc/odbc.ini
create: yes
block: |
[asterisk]
Driver = MySQL
Description = MySQL connection to 'asterisk' database
Server = localhost
Port = 3306
Database = asterisk
UserName = asterisk
Password = {{ updated_mysql_asterisk_password }}
#Socket = /var/run/mysqld/mysqld.sock
Socket = /var/lib/mysql/mysql.sock
...
pjsip.conf
[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0
Also, asterisk -rvvvvv giving no warnings at all.
netstat -aun # For udp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 0.0.0.0:46148 0.0.0.0:*
udp 0 0 0.0.0.0:111 0.0.0.0:*
udp 0 0 10.17.0.8:123 0.0.0.0:*
udp 0 0 157.245.1.90:123 0.0.0.0:*
udp 0 0 127.0.0.1:123 0.0.0.0:*
udp 0 0 0.0.0.0:123 0.0.0.0:*
udp 0 0 0.0.0.0:709 0.0.0.0:*
udp6 0 0 :::111 :::*
udp6 0 0 fe80::8c1d:97ff:fe0:123 :::*
udp6 0 0 ::1:123 :::*
udp6 0 0 :::123 :::*
udp6 0 0 :::709 :::*
udp6 0 0 :::39803 :::*