Asterisk setup in Linux machine
1) Install and setup asterisk server in Ubuntu. Run the asterisk server using below command.
Ex: asterisk -rvvv
asterisk -rvvv swamidas-HP-Laptop-14q-cs0xxx*CLI>
2) Install sip clients in two different machines which are in the same network in which asterisk server is running.
3) Configure the sip and extensions files. Reload the updated configuration of both sip and extensions using below commands.
Ex: sip reload
dialplan reload
swamidas@swamidas-HP-Laptop-14q-cs0xxx:/etc/asterisk$ cat sip.conf [general] context=default bindaddr=0.0.0.0 nat=force_rport,comedia externip=192.168.84.236 localnet=192.168.84.1/255.255.255.0 qualify=yes [1001] type=friend context=internal host=dynamic secret=password1 dtmfmode=rfc2833 disallow=all allow=ulaw allow=alaw directmedia=no [1002] type=friend context=internal host=dynamic secret=password2 dtmfmode=rfc2833 disallow=all allow=ulaw allow=alaw directmedia=no
swamidas@swamidas-HP-Laptop-14q-cs0xxx:/etc/asterisk$ cat extensions.conf
[general]
static=yes
writeprotect=no
clearglobalvars=no
[internal]
exten => 1001,1,Dial(SIP/1001)
exten => 1002,1,Dial(SIP/1002)
[default]
exten => _X.,1,NoOp(Unhandled call to ${EXTEN})
exten => _X.,n,Playback(vm-nobodyavail)
exten => _X.,n,Hangup()
exten => 1001,1,Dial(SIP/1001,20)
exten => 1001,n,NoOp(Dial status for 1001: ${DIALSTATUS})
exten => 1001,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 1001,n(busy),Playback(all-circuits-busy-now)
exten => 1001,n(busy),Hangup()
exten => 1001,n(unavail),Playback(vm-nobodyavail)
exten => 1001,n(unavail),Hangup()
exten => 1002,1,Dial(SIP/1002,20)
exten => 1002,n,NoOp(Dial status for 1002: ${DIALSTATUS})
exten => 1002,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 1002,n(busy),Playback(all-circuits-busy-now)
exten => 1002,n(busy),Hangup()
exten => 1002,n(unavail),Playback(vm-nobodyavail)
exten => 1002,n(unavail),Hangup()
swamidas-HP-Laptop-14q-cs0xxx*CLI> sip reload Reloading SIP swamidas-HP-Laptop-14q-cs0xxx*CLI> dialplan reload Dialplan reloaded. [Jun 27 12:59:48] WARNING[27757]: pbx.c:7126 add_priority: Extension '1001' priority 5 in 'default', label 'busy' already in use at priority 4 [Jun 27 12:59:48] WARNING[27757]: pbx.c:7126 add_priority: Extension '1001' priority 7 in 'default', label 'unavail' already in use at priority 6 [Jun 27 12:59:48] WARNING[27757]: pbx.c:7126 add_priority: Extension '1002' priority 5 in 'default', label 'busy' already in use at priority 4 [Jun 27 12:59:48] WARNING[27757]: pbx.c:7126 add_priority: Extension '1002' priority 7 in 'default', label 'unavail' already in use at priority 6 -- Including switch 'DUNDi/e164' in context 'ael-dundi-e164-switch'
4) Make sure the ports are being allowed in the asterisk server to listen to the traffic from the clients. Allow ports using below commands,
Ex: sudo ufw allow 5060/udp
sudo ufw allow 10000:20000/udp
5) Register the sip clients with the asterisk server ip, username and password as configured in the sip.conf file.
swamidas-HP-Laptop-14q-cs0xxx*CLI> sip show peers Name/username Host Dyn Forcerport Comedia ACL Port Status Description 1001/1001 (Unspecified) D Yes Yes 0 UNKNOWN 1002/1002 (Unspecified) D Yes Yes 0 UNKNOWN 2 sip peers [Monitored: 0 online, 2 offline Unmonitored: 0 online, 0 offline]
6) After successful registration in both the clients, initiate a call between two clients and verify the logs in the asterisk CLI.
swamidas-HP-Laptop-14q-cs0xxx*CLI> sip show peers Name/username Host Dyn Forcerport Comedia ACL Port Status Description 1001/1001 (Unspecified) D Yes Yes 0 UNKNOWN 1002/1002 (Unspecified) D Yes Yes 0 UNKNOWN 2 sip peers [Monitored: 0 online, 2 offline Unmonitored: 0 online, 0 offline] -- Registered SIP '1001' at 192.168.1.16:39563 [Jun 27 11:50:07] NOTICE[23025]: chan_sip.c:25009 handle_response_peerpoke: Peer '1001' is now Reachable. (337ms / 2000ms) swamidas-HP-Laptop-14q-cs0xxx*CLI> swamidas-HP-Laptop-14q-cs0xxx*CLI> -- Registered SIP '1002' at 192.168.1.4:43325 [Jun 27 12:21:54] NOTICE[23025]: chan_sip.c:25009 handle_response_peerpoke: Peer '1002' is now Reachable. (100ms / 2000ms) swamidas-HP-Laptop-14q-cs0xxx*CLI>
== Using SIP CoS mark 4
== Using SIP RTP CoS mark 5
-- Executing [1001@internal:1] Dial("SIP/1002-00000000", "SIP/1001") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/1001
-- SIP/1001-00000001 is ringing
-- SIP/1001-00000001 is ringing
-- SIP/1001-00000001 answered SIP/1002-00000000
-- Channel SIP/1001-00000001 joined 'simple_bridge' basic-bridge <4f256478-6734-4430-99cc-70dea5a8c97e>
-- Channel SIP/1002-00000000 joined 'simple_bridge' basic-bridge <4f256478-6734-4430-99cc-70dea5a8c97e>
[Jun 27 13:01:23] WARNING[23025]: chan_sip.c:4151 retrans_pkt: Retransmission timeout reached on transmission SBLw7uYy-wTk5rEGVuN4lQ.. for seqno 2 (Critical Response) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
Packet timed out after 16446ms with no response
[Jun 27 13:01:23] WARNING[23025]: chan_sip.c:4175 retrans_pkt: Hanging up call SBLw7uYy-wTk5rEGVuN4lQ.. - no reply to our critical packet (see https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions).
-- Channel SIP/1002-00000000 left 'native_rtp' basic-bridge <4f256478-6734-4430-99cc-70dea5a8c97e>
-- Channel SIP/1001-00000001 left 'native_rtp' basic-bridge <4f256478-6734-4430-99cc-70dea5a8c97e>
== Spawn extension (internal, 1001, 1) exited non-zero on 'SIP/1002-00000000'
== Using SIP RTP CoS mark 5
-- Executing [1002@internal:1] Dial("SIP/1001-00000002", "SIP/1002") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/1002
-- SIP/1002-00000003 is ringing
-- SIP/1002-00000003 answered SIP/1001-00000002
-- Channel SIP/1002-00000003 joined 'simple_bridge' basic-bridge <2998d0cc-a467-4838-bc36-c5e71cc78b8e>
-- Channel SIP/1001-00000002 joined 'simple_bridge' basic-bridge <2998d0cc-a467-4838-bc36-c5e71cc78b8e>
[Jun 27 13:02:28] WARNING[23025]: chan_sip.c:4151 retrans_pkt: Retransmission timeout reached on transmission lw6Ulds1px-COhEIX7VAbA.. for seqno 2 (Critical Response) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
Packet timed out after 6400ms with no response
[Jun 27 13:02:28] WARNING[23025]: chan_sip.c:4175 retrans_pkt: Hanging up call lw6Ulds1px-COhEIX7VAbA.. - no reply to our critical packet (see https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions).
-- Channel SIP/1001-00000002 left 'native_rtp' basic-bridge <2998d0cc-a467-4838-bc36-c5e71cc78b8e>
-- Channel SIP/1002-00000003 left 'native_rtp' basic-bridge <2998d0cc-a467-4838-bc36-c5e71cc78b8e>
== Spawn extension (internal, 1002, 1) exited non-zero on 'SIP/1001-00000002'
[Jun 27 13:05:31] NOTICE[23025]: chan_sip.c:25009 handle_response_peerpoke: Peer '1002' is now Lagged. (3389ms / 2000ms)
[Jun 27 13:05:31] NOTICE[23025]: chan_sip.c:25009 handle_response_peerpoke: Peer '1002' is now Reachable. (204ms / 2000ms)
[Jun 27 13:06:35] NOTICE[23025]: chan_sip.c:30551 sip_poke_noanswer: Peer '1002' is now UNREACHABLE! Last qualify: 204
swamidas-HP-Laptop-14q-cs0xxx*CLI>
7) Voice can be audible clearly between two clients.
Asterisk Server setup in Banana PI R4
1) Added below changes for porting asterisk code for banana pi r4 board.
https://github.com/rdkcentral/meta-cmf-bananapi/commit/eec660282dbeec132b90e3172f72f09ec951e2d7
2) Enable asterisk in board using systemctl
systemctl enable asterisk
3) Add configuration for two sip clients in the banana pi r4 board.
root@Filogic-GW:/etc/asterisk# cat pjsip.conf [udp-transport] type=transport protocol=udp bind=0.0.0.0 external_media_address=192.168.1.12 external_signaling_address=192.168.1.12 [1001] type=endpoint transport=udp-transport context=from-internal disallow=all allow=alaw allow=ulaw auth=1001 aors=1001 direct_media=no [1001] type=auth auth_type=userpass password=1001 username=1001 [1001] type=aor max_contacts=10 [1002] type=endpoint transport=udp-transport context=from-internal disallow=all allow=alaw allow=ulaw auth=1002 aors=1002 direct_media=no [1002] type=auth auth_type=userpass password=1002 username=1002 [1002] type=aor max_contacts=10
4) Add dialplan for the two clients in the board
root@Filogic-GW:/etc/asterisk# cat extensions.conf [general] static=yes writeprotect=no clearglobalvars=no [from-internal] exten => 1001,1,Dial(PJSIP/1001,20) exten => 1002,1,Dial(PJSIP/1002,20)
5) Run the asterisk server in the board and reload both the configuration files in the asterisk CLI
root@Filogic-GW:/etc/asterisk# asterisk -rvvv
Asterisk 18.15.1, Copyright (C) 1999 - 2022, Sangoma Technologies Corporation and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 18.15.1 currently running on Filogic-GW (pid = 4177657)
Filogic-GW*CLI>
Filogic-GW*CLI> module reload res_pjsip.so
Module 'res_pjsip.so' reloaded successfully.
-- Reloading module 'res_pjsip.so' (Basic SIP resource)
Filogic-GW*CLI> dialplan reload
Dialplan reloaded.
[Apr 28 17:43:14] WARNING[3460]: pbx.c:7126 add_priority: Extension '1001' priority 7 in 'default', label 'unavail' already in use at priority 6
[Apr 28 17:43:14] WARNING[3460]: pbx.c:7126 add_priority: Extension '1002' priority 5 in 'default', label 'busy' already in use at priority 4
[Apr 28 17:43:14] WARNING[3460]: pbx.c:7126 add_priority: Extension '1002' priority 7 in 'default', label 'unavail' already in use at priority 6
-- Time to scan old dialplan and merge leftovers back into the new: 0.000048 sec
-- Time to restore hints and swap in new dialplan: 0.000012 sec
-- Time to delete the old dialplan: 0.000034 sec
-- Total time merge_contexts_delete: 0.000094 sec
-- pbx_config successfully loaded 6 contexts (enable debug for details).
Filogic-GW*CLI>
6) If we are facing any database errors, please follow below steps
systemctl stop asteriskcd /var/lib/asteriskmv astdb.sqlite3 /tmp/astdb.sqlite3.corruptedcorrect dialplan configuration Restart asterisk and Re-register endpoints systemctl start asterisk
7) Verify the clients are successfully registered with the asterisk server
Filogic-GW*CLI> pjsip show 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: 1001 Not in use 0 of inf
InAuth: 1001/1001
Aor: 1001 10
Contact: 1001/sip:1001@192.168.1.2:42418;transport= f6b203c8e8 NonQual nan
Transport: udp-transport udp 0 0 0.0.0.0:5060
Endpoint: 1002 Not in use 0 of inf
InAuth: 1002/1002
Aor: 1002 10
Contact: 1002/sip:1002@192.168.1.5:48383;transport= 0d95a96184 NonQual nan
Transport: udp-transport udp 0 0 0.0.0.0:5060
Objects found: 2
Filogic-GW*CLI>
8) Make sure that both clients and Banana PI R4 board are in the same network.
9) Add firewall rules to allow sip and rtp ports to make communication between two clients using asterisk server. Add rules on the top place of the chain
root@Filogic-GW:~# iptables -I INPUT -p udp --dport 5060 -j ACCEPT root@Filogic-GW:~# iptables -I INPUT -p udp --dport 10000:20000 -j ACCEPT root@Filogic-GW:~# iptables -nL Chain INPUT (policy DROP) target prot opt source destination ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:5060 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpts:10000:20000
10) For any debug regarding the logs please set pjsip logger to on.
pjsip set logger on
11) Now initiate a call in between two clients and verify the logs in asterisk CLI. Voice call will be generated and two way communication in between two clients can be happened successfully.
-- Executing [1002@from-internal:1] Dial("PJSIP/1001-00000000", "PJSIP/1002,20") in new stack
-- Called PJSIP/1002
-- Removed contact 'sip:1001@192.168.1.4:45167;transport=UDP;rinstance=34df73ee3b3522b6' from AOR '1001' due to expiration
== Contact 1001/sip:1001@192.168.1.4:45167;transport=UDP;rinstance=34df73ee3b3522b6 has been deleted
-- PJSIP/1002-00000001 is ringing
-- PJSIP/1002-00000001 answered PJSIP/1001-00000000
-- Channel PJSIP/1002-00000001 joined 'simple_bridge' basic-bridge <d8b6ecbe-8d28-4684-84d6-ec19d2a31361>
-- Channel PJSIP/1001-00000000 joined 'simple_bridge' basic-bridge <d8b6ecbe-8d28-4684-84d6-ec19d2a31361>
-- Channel PJSIP/1001-00000000 left 'native_rtp' basic-bridge <d8b6ecbe-8d28-4684-84d6-ec19d2a31361>
== Spawn extension (from-internal, 1002, 1) exited non-zero on 'PJSIP/1001-00000000'
-- Channel PJSIP/1002-00000001 left 'native_rtp' basic-bridge <d8b6ecbe-8d28-4684-84d6-ec19d2a31361>
Filogic-GW*CLI> [185515.936263] mt7996e 0000:01:00.0: mt7996_hw_scan: trigger scan on mt76 band 0
[185516.136513] mt7996e 0000:01:00.0: mt7996_hw_scan: trigger scan on mt76 band 1
[185516.336706] mt7996e 0000:01:00.0: mt7996_hw_scan: trigger scan on mt76 band 2
-- Executing [1001@from-internal:1] Dial("PJSIP/1002-00000002", "PJSIP/1001,20") in new stack
-- Called PJSIP/1001
-- PJSIP/1001-00000003 is ringing
-- PJSIP/1001-00000003 answered PJSIP/1002-00000002
-- Channel PJSIP/1001-00000003 joined 'simple_bridge' basic-bridge <c0d89774-dbea-4c65-a1e2-ecbe5d8e567e>
-- Channel PJSIP/1002-00000002 joined 'simple_bridge' basic-bridge <c0d89774-dbea-4c65-a1e2-ecbe5d8e567e>
-- Channel PJSIP/1002-00000002 left 'native_rtp' basic-bridge <c0d89774-dbea-4c65-a1e2-ecbe5d8e567e>
-- Channel PJSIP/1001-00000003 left 'native_rtp' basic-bridge <c0d89774-dbea-4c65-a1e2-ecbe5d8e567e>
== Spawn extension (from-internal, 1001, 1) exited non-zero on 'PJSIP/1002-00000002'
Registering Asterisk as client with external SIP server and making call using external sip server trunk
1) Register with the external sip server by creating an account in sip.linphone.org and add both username, password in the existing pjsip.conf which are used as authentication credentials.
[linphone_freesip_auth] type=auth auth_type=userpass password=password username=2931
2) Make the outbound SIP registration by adding in the pjsip.conf file
[linphone_freesip_registration] type=registration transport=udp-transport server_uri=sip:sip.linphone.org client_uri=sip:2931@sip.linphone.org outbound_auth=linphone_freesip_auth retry_interval=60 expiration=3600
3) Add the contact information of the remote SIP server for outbound trunk in pjsip.conf file
[linphone_freesip_aor] type=aor contact=sip:sip.linphone.org:5060 max_contacts=1 qualify_frequency=30
4) Define the SIP endpoint for your connection to the Linphone freesip server in pjsip.conf file
[linphone_freesip_trunk] type=endpoint transport=udp-transport context=from-linphone disallow=all allow=ulaw allow=alaw allow=gsm auth=linphone_freesip_auth outbound_auth=linphone_freesip_auth aors=linphone_freesip_aor direct_media=no force_rport=yes rewrite_contact=yes rtp_symmetric=yes
5) Do nslookup for the sip.linphone.org from the board and add the IP in the identify section in the pjsip.conf file.
root@Filogic-GW:/etc/asterisk# nslookup sip.linphone.org Server: 192.168.1.1 Address 1: 192.168.1.1 _gateway Name: sip.linphone.org Address 1: 5.135.215.43 sip12.linphone.org Address 2: 2001:41d0:203:7fe2::4 [linphone_identify] type=identify endpoint=linphone_freesip_trunk match=5.135.215.43/32
6) Add dialplan configuration in extensions.conf to route outgoing calls through this PJSIP trunk. Assuming users to dial '9' followed by the number to call externally.
[internal-users]
exten => _9X.,1,NoOp
exten => _9X.,n,Dial(PJSIP/${EXTEN:1}@linphone_freesip_trunk)
exten => _9X.,n,Hangup()
include => outbound-linphone
[from-internal]
exten => 1001,1,Dial(PJSIP/1001,20)
exten => 1002,1,Dial(PJSIP/1002,20)
include => outbound-linphone
[outbound-linphone]
exten => _9X.,1,NoOp
same => n,Dial(PJSIP/${EXTEN:1}@linphone_freesip_trunk,60)
same => n,Hangup()
7) Add dialplan configuration for Incoming calls from public Internet.
[from-linphone] exten => s,1,NoOp same => n,Dial(PJSIP/1001,20) same => n,Hangup() exten => 2931,1,NoOp same => n,Dial(PJSIP/1001,20) same => n,Hangup()
8) After updating the configurations, reload both the configurations from asterisk CLI.
Filogic-GW*CLI> module reload res_pjsip.so
Module 'res_pjsip.so' reloaded successfully.
-- Reloading module 'res_pjsip.so' (Basic SIP resource)
Filogic-GW*CLI> dialplan reload
Dialplan reloaded.
[Jul 17 12:20:40] WARNING[1027809]: pbx.c:7126 add_priority: Extension '1001' priority 7 in 'default', label 'unavail' already in use at priority 6
[Jul 17 12:20:40] WARNING[1027809]: pbx.c:7126 add_priority: Extension '1002' priority 5 in 'default', label 'busy' already in use at priority 4
[Jul 17 12:20:40] WARNING[1027809]: pbx.c:7126 add_priority: Extension '1002' priority 7 in 'default', label 'unavail' already in use at priority 6
-- Time to scan old dialplan and merge leftovers back into the new: 0.000062 sec
-- Time to restore hints and swap in new dialplan: 0.000018 sec
-- Time to delete the old dialplan: 0.000046 sec
-- Total time merge_contexts_delete: 0.000126 sec
-- pbx_config successfully loaded 6 contexts (enable debug for details).
9) Verify that the endpoints are registered successfully or not.
Filogic-GW*CLI> pjsip show registrations
<Registration/ServerURI..............................> <Auth....................> <Status.......>
==========================================================================================
linphone_freesip_registration/sip:sip.linphone.org linphone_freesip_auth Registered (exp. 68882s ago)
Objects found: 1
Filogic-GW*CLI> pjsip show 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: 1001 Not in use 0 of inf
InAuth: 1001/1001
Aor: 1001 10
Transport: udp-transport udp 0 0 0.0.0.0:5060
Endpoint: 1002 Unavailable 0 of inf
InAuth: 1002/1002
Aor: 1002 10
Transport: udp-transport udp 0 0 0.0.0.0:5060
Endpoint: linphone_freesip_trunk Not in use 0 of inf
OutAuth: linphone_freesip_auth/2931
InAuth: linphone_freesip_auth/2931
Aor: linphone_freesip_aor 1
Contact: linphone_freesip_aor/sip:sip.linphone.org: 8248a8908d Avail 187.774
Transport: udp-transport udp 0 0 0.0.0.0:5060
Identify: linphone_identify/linphone_freesip_trunk
Match: 5.135.215.43/32
Objects found: 3
Filogic-GW*CLI>
10) Add firewall rules to allow sip and rtp ports. Flush any rules which are blocking the clients traffic.
root@Filogic-GW:~# iptables -F root@Filogic-GW:~# iptables -A INPUT -p udp --dport 5060 -j ACCEPT root@Filogic-GW:~# iptables -A INPUT -p udp --dport 10000:20000 -j ACCEPT root@Filogic-GW:~# iptables -nL Chain INPUT (policy DROP) target prot opt source destination ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:5060 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpts:10000:20000
11) Now initiate an outbound call from internal extension to the external sip server(2931).
-- Executing [92931@from-internal:1] NoOp("PJSIP/1001-00000001", "") in new stack
-- Executing [92931@from-internal:2] Dial("PJSIP/1001-00000001", "PJSIP/2931@linphone_freesip_trunk,60") in new stack
-- Called PJSIP/2931@linphone_freesip_trunk
-- PJSIP/linphone_freesip_trunk-00000002 is ringing
-- Added contact 'sip:1001@192.168.1.9:36312;transport=UDP;rinstance=faa99161e70850c2' to AOR '1001' with expiration of 60 seconds
[Jul 16 11:20:45] WARNING[1830]: db.c:316 db_execute_sql: Error executing SQL (COMMIT): database is locked
> 0x7f940598d0 -- Strict RTP learning after remote address set to: 5.135.215.43:18034
-- PJSIP/linphone_freesip_trunk-00000002 answered PJSIP/1001-00000001
> 0x7f94049790 -- Strict RTP learning after remote address set to: 192.168.1.9:36687
-- Channel PJSIP/linphone_freesip_trunk-00000002 joined 'simple_bridge' basic-bridge <97c41ec6-e3f4-45e8-ad94-f2f8763abff7>
-- Channel PJSIP/1001-00000001 joined 'simple_bridge' basic-bridge <97c41ec6-e3f4-45e8-ad94-f2f8763abff7>
-- Channel PJSIP/linphone_freesip_trunk-00000002 left 'simple_bridge' basic-bridge <97c41ec6-e3f4-45e8-ad94-f2f8763abff7>
-- Channel PJSIP/1001-00000001 left 'simple_bridge' basic-bridge <97c41ec6-e3f4-45e8-ad94-f2f8763abff7>
== Spawn extension (from-internal, 92931, 2) exited non-zero on 'PJSIP/1001-00000001'
-- Added contact 'sip:1001@192.168.1.9:36312;transport=UDP;rinstance=faa99161e70850c2' to AOR '1001' with expiration of 60 seconds