Detect multiple keys in confbridge asterisk 11 - asterisk

How can I detect multiple keys in a conference in confbridge application. Right now I can only detect a single key number digit. How can I detect a 2 digit or 3 digit number for example 45 or 454.
Please help me.
Thanks

You can detect 4, record that detection, detect next digit(5), record it again.
Do that as many times as you need.

Yup, it's completely possible to have DTMF menus that are triggered based on multiple DTMF keys presses.
Example:
[general]
[user_profile]
type = user
admin = no
pin = 1111
marked = yes
startmuted = no
announce_user_count = yes
announce_user_count_all = 1
announce_join_leave = yes
[user_menu]
type = menu
1 = toggle_mute
201 = leave_conference
[default_bridge]
type = bridge
[default_user]
type = user
In this log snippet, you can see the user press '201' to leave the conference:
[Feb 21 22:28:16] VERBOSE[18929][C-00000001] pbx.c: -- Executing [user_profile#confbridge:1] NoOp("SIP/ast2_g722-00000001", "") in new stack
[Feb 21 22:28:16] VERBOSE[18929][C-00000001] pbx.c: -- Executing [user_profile#confbridge:2] ConfBridge("SIP/ast2_g722-00000001", "1,,user_profile,user_menu") in new stack
[Feb 21 22:28:26] VERBOSE[18929][C-00000001] file.c: -- <SIP/ast2_g722-00000001> Playing 'conf-onlyone.gsm' (language 'en')
[Feb 21 22:28:47] VERBOSE[18929][C-00000001] file.c: -- <SIP/ast2_g722-00000001> Playing 'confbridge-join.gsm' (language 'en')
[Feb 21 22:28:48] VERBOSE[18929][C-00000001] file.c: -- <Bridge/0x7fb3bc004528-input> Playing 'confbridge-join.gsm' (language 'en')
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF begin '2' received on SIP/ast2_g722-00000001
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF begin passthrough '2' on SIP/ast2_g722-00000001
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF end '2' received on SIP/ast2_g722-00000001, duration 100 ms
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF end accepted with begin '2' on SIP/ast2_g722-00000001
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF end passthrough '2' on SIP/ast2_g722-00000001
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF begin '0' received on SIP/ast2_g722-00000001
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF begin ignored '0' on SIP/ast2_g722-00000001
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF end '0' received on SIP/ast2_g722-00000001, duration 100 ms
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF end passthrough '0' on SIP/ast2_g722-00000001
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF begin '1' received on SIP/ast2_g722-00000001
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF begin ignored '1' on SIP/ast2_g722-00000001
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF end '1' received on SIP/ast2_g722-00000001, duration 100 ms
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF end passthrough '1' on SIP/ast2_g722-00000001
[Feb 21 22:28:55] VERBOSE[18929][C-00000001] file.c: -- <Bridge/0x7fb3bc004528-input> Playing 'conf-hasleft.gsm' (language 'en')
[Feb 21 22:28:57] VERBOSE[18929][C-00000001] file.c: -- <Bridge/0x7fb3bc004528-input> Playing 'confbridge-leave.gsm' (language 'en')
[Feb 21 22:28:58] VERBOSE[18929][C-00000001] pbx.c: -- Executing [user_profile#confbridge:3] Hangup("SIP/ast2_g722-00000001", "") in new stack

Related

Asterisk error: Failed to authenticate on INVITE to - can't call

I've installed Asterisk from the ViciBox iso (ViciBox_v.7.x86_64-7.0.4).
I'm using a softphone (BRIA by CounterPath) and I set it up on asterisk by vicidial.
I can correctly receive calls on the Bria soft phone calling the voip number.
The problem is that I can't make calls.
When I try to call in the asterisk console I have:
[May 31 14:19:56] Connected to Asterisk 11.25.1-vici currently running on vicibox7 (pid = 1476)
[May 31 14:20:01] == Manager 'sendcron' logged on from 127.0.0.1
[May 31 14:20:01] == Manager 'sendcron' logged off from 127.0.0.1
[May 31 14:20:01] == Manager 'sendcron' logged on from 127.0.0.1
[May 31 14:20:01] == Manager 'sendcron' logged off from 127.0.0.1
[May 31 14:20:06] == Manager 'sendcron' logged on from 127.0.0.1
[May 31 14:20:06] == Manager 'sendcron' logged off from 127.0.0.1
[May 31 14:20:28] == Using SIP RTP CoS mark 5
[May 31 14:20:28] -- Executing [0039**********#default:1] Goto("SIP/001-00000000", "to-Gloobobusiness,s,1") in new stack
[May 31 14:20:28] -- Goto (to-Gloobobusiness,s,1)
[May 31 14:20:28] -- Executing [s#to-Gloobobusiness:1] NoOp("SIP/001-00000000", "Chiamata in uscita sul trunk di gloonobusiness") in new stack
[May 31 14:20:28] -- Executing [s#to-Gloobobusiness:2] Dial("SIP/001-00000000", "SIP/s#Trunk_Gloobobusiness") in new stack
[May 31 14:20:28] == Using SIP RTP CoS mark 5
[May 31 14:20:28] -- Called SIP/s#Trunk_Gloobobusiness
[May 31 14:20:28] NOTICE[1558][C-00000000]: chan_sip.c:23309 handle_response_invite: Failed to authenticate on INVITE to '"cccenter" <sip:001#79.47.20.72>;tag=as6d2f2341'
[May 31 14:20:28] -- SIP/Trunk_Gloobobusiness-00000001 is circuit-busy
[May 31 14:20:28] == Everyone is busy/congested at this time (1:0/1/0)
[May 31 14:20:28] -- Auto fallthrough, channel 'SIP/001-00000000' status is 'CONGESTION'
My dialplan:
exten => _+39.,1,Goto(to-Gloobobusiness,s,1)
exten => _39.,1,Goto(to-Gloobobusiness,s,1)
exten => _0039.,1,Goto(to-Gloobobusiness,s,1)
[to-Gloobobusiness]
exten => s,1,NoOp(Chiamata in uscita sul trunk di gloonobusiness)
same => n,Dial(SIP/${EXTEN}#Trunk_Gloobobusiness)
[from-Gloobobusiness]
exten => s,1,NoOp(Chiamata in ingresso mando al 001)
same => n,Dial(SIP/001)
What is not clear for you in your debug output? You are trying to call ti
s#Trunk_Gloobobusiness
Not think any trunk happy with number s.

Incoming call does not work

Enviroment
2 VMs
One with Debian 8, Asterisk 13.13.1, PJSIP 2.5.5
and the other wit Debian 8 Gnome-GUI and SFLphone 1.4.1
VMs are located behinde NAT router in same network
Way around NAT is done by Exposed-Host function on the Asterisk-VM static IP
Asterisk-VM Firewall is turned of, to do so I have done in CLI as root:
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
Files
======pjsip.conf
[transport-udp]
type = transport
protocol = udp
bind = 0.0.0.0
local_net = 192.168.2.0/24
external_media_address = ---Router WAN IP---
external_signaling_address = ---Router WAN IP---
[reg_sipgate]
type = registration
retry_interval = 20
max_retries = 10
contact_user = ---SIPgate-ID---
expiration = 120
transport = transport-udp
outbound_auth = auth_reg_sipgate
client_uri = sip:---SIPgate-ID---#sipgate.de:5060
server_uri = sip:sipgate.de:5060
[auth_reg_sipgate]
type = auth
username = ---SIPgate-ID---
password = ---SIPgate-passwd---
[sipgate_aor]
type = aor
contact = sip:---SIPgate-ID---#sipgate.de
[sipgate_identity]
type=identity
endpoint = sipgate
match = sipgate.de
[sipgate_auth]
type = auth
username = ---SIPgate-ID---
password = ---SIPgate-passwd---
[sipgate]
type = endpoint
context = sipgate-in
dtmf_mode =rfc4733
disallow = all
allow = alaw
rtp_symmetric = yes
force_rport = yes
rewrite_contact = yes
timers = yes
from_user = ---SIPgate-ID---
from_domain = sipgate.de
language = en
outbound_auth = sipgate_auth
aors = sipgate_aor
======extensions.conf
[sipgate-in]
exten => _X.,1,NoOp(Processing an incoming call)
;same problem if this line is used and not the above line
;exten => ---SIPgate-number-in-plain---,1,NoOp(Processing an incoming call)
same => n,Dial(PJSIP/1001,20)
same => n,Hangup()
[sipgate-out]
exten => _X.,1,NoOp(Processing an outgoing call)
same => n,Dial(PJSIP/${EXTEN}#sipgate)
same => n,Hangup()
======pjsip_wizard.conf
[support](!)
type = wizard
accepts_registrations = yes
sends_registrations = no
accepts_auth = yes
sends_auth = no
endpoint/context = support
endpoint/allow_subscribe = yes
endpoint/allow = gsm
endpoint/direct_media = no
endpoint/force_rport = yes
endpoint/disable_direct_media_on_nat = yes
endpoint/direct_media_method = invite
endpoint/ice_support = yes
endpoint/moh_suggest = default
endpoint/send_rpid = yes
endpoint/rewrite_contact = yes
endpoint/send_pai = yes
endpoint/allow_transfer = yes
endpoint/trust_id_inbound = yes
endpoint/device_state_busy_at = 1
endpoint/trust_id_outbound = yes
endpoint/send_diversion = yes
aor/qualify_frequency = 30
aor/max_contacts = 1
aor/remove_existing = yes
aor/minimum_expiration = 30
aor/support_path = yes
phoneprov/PROFILE = profile1
[1001](support)
inbound_auth/username = 1001
inbound_auth/password = XXXXXXXXX
Picture
CLI notice with verbose = 5
Problem
Incoming calls are not routed to my softphone 1001. Only thing i get is 10sec silence, then HangUp. External calls run perfect
Thanks for help or link or calling me a dumbf*uck and telling me it's obvious
I use this enviroment just to learn, it's not productive neither 24/7 runnig. If you're missing something, tell me
Edit
Here is the debug.log
[Mar 20 06:46:59] DEBUG[25617] res_pjsip/pjsip_distributor.c: Could not find matching transaction for Request msg INVITE/cseq=103 (rdata0x7f9094001b98)
[Mar 20 06:46:59] DEBUG[25617] res_pjsip/pjsip_distributor.c: Calculated serializer pjsip/distributor-00000026 to use for Request msg INVITE/cseq=103 (rdata0x7f9094001b98)
[Mar 20 06:46:59] DEBUG[25618] res_pjsip_endpoint_identifier_ip.c: No identify sections to match against
[Mar 20 06:46:59] DEBUG[25618] res_pjsip_endpoint_identifier_user.c: Attempting identify by From username '04058962865' domain 'sipgate.de'
[Mar 20 06:46:59] DEBUG[25618] res_pjsip_endpoint_identifier_user.c: Endpoint not found for From username '04058962865' domain 'sipgate.de'
[Mar 20 06:46:59] NOTICE[25618] res_pjsip/pjsip_distributor.c: Request 'INVITE' from '"04058962865" <sip:04058962865#sipgate.de>' failed for '217.10.79.9:5060' (callid: 0eb324896fae520c2707e7933f2b33fe#sipgate.de) - No matching endpoint found
[Mar 20 06:46:59] DEBUG[25617] res_pjsip/pjsip_distributor.c: Could not find matching transaction for Request msg ACK/cseq=103 (rdata0x7f9094001b98)
[Mar 20 06:46:59] DEBUG[25617] res_pjsip/pjsip_distributor.c: Calculated serializer pjsip/distributor-00000026 to use for Request msg ACK/cseq=103 (rdata0x7f9094001b98)
[Mar 20 06:46:59] DEBUG[25618] res_pjsip_endpoint_identifier_ip.c: No identify sections to match against
[Mar 20 06:46:59] DEBUG[25618] res_pjsip_endpoint_identifier_user.c: Attempting identify by From username '04058962865' domain 'sipgate.de'
[Mar 20 06:46:59] DEBUG[25618] res_pjsip_endpoint_identifier_user.c: Endpoint not found for From username '04058962865' domain 'sipgate.de'
[Mar 20 06:47:02] DEBUG[25618] config.c: extract uint from [3] in [0, 4294967295] gives [3](0)
[Mar 20 06:47:02] DEBUG[25618] config.c: extract uint from [0] in [0, 4294967295] gives [0](0)
[Mar 20 06:47:02] DEBUG[25618] config.c: extract uint from [2] in [0, 4294967295] gives [2](0)
[Mar 20 06:47:02] DEBUG[25618] res_pjsip.c: 0x7f90b0006510: Wrapper created
[Mar 20 06:47:02] DEBUG[25618] res_pjsip.c: 0x7f90b0006510: Set timer to 3000 msec
[Mar 20 06:47:02] DEBUG[25618] res_pjsip/pjsip_message_ip_updater.c: Re-wrote Contact URI host/port to 192.168.2.100:5060
[Mar 20 06:47:02] DEBUG[25617] res_pjsip/pjsip_distributor.c: No dialog serializer for response Response msg 200/OPTIONS/cseq=64036 (rdata0x7f9094001b98). Using request transaction as basis
[Mar 20 06:47:02] DEBUG[25617] res_pjsip/pjsip_distributor.c: Found serializer pjsip/default-0000000c on transaction tsx0x7f90b0008e48
[Mar 20 06:47:02] DEBUG[25618] res_pjsip.c: 0x7f90b0006510: PJSIP tsx response received
[Mar 20 06:47:02] DEBUG[25618] res_pjsip.c: 0x7f90b0006510: Cancelling timer
[Mar 20 06:47:02] DEBUG[25618] res_pjsip.c: 0x7f90b0006510: Timer cancelled
[Mar 20 06:47:02] DEBUG[25618] config.c: extract uint from [3] in [0, 4294967295] gives [3](0)
[Mar 20 06:47:02] DEBUG[25618] config.c: extract uint from [0] in [0, 4294967295] gives [0](0)
[Mar 20 06:47:02] DEBUG[25618] config.c: extract uint from [2] in [0, 4294967295] gives [2](0)
[Mar 20 06:47:02] DEBUG[25618] res_pjsip.c: 0x7f90b0006510: Callbacks executed
[Mar 20 06:47:02] DEBUG[25618] res_pjsip.c: 0x7f90b0006510: wrapper destroyed
[Mar 20 06:47:02] DEBUG[25623] res_pjsip/pjsip_configuration.c: Contact 1001/sip:1001#192.168.2.200:5060 status didn't change: Reachable, RTT: 2.107 msec
[Mar 20 06:47:15] DEBUG[25622] threadpool.c: Worker thread idle timeout reached. Dying.
[Mar 20 06:47:15] DEBUG[25620] threadpool.c: Worker thread idle timeout reached. Dying.
[Mar 20 06:47:15] DEBUG[25615] threadpool.c: Destroying worker thread 9
[Mar 20 06:47:15] DEBUG[25615] threadpool.c: Destroying worker thread 7
[Mar 20 06:47:15] DEBUG[25621] threadpool.c: Worker thread idle timeout reached. Dying.
[Mar 20 06:47:15] DEBUG[25615] threadpool.c: Destroying worker thread 8
[Mar 20 06:47:16] DEBUG[25627] threadpool.c: Worker thread idle timeout reached. Dying.
[Mar 20 06:47:16] DEBUG[25625] threadpool.c: Worker thread idle timeout reached. Dying.
[Mar 20 06:47:16] DEBUG[25595] threadpool.c: Destroying worker thread 13
[Mar 20 06:47:16] DEBUG[25595] threadpool.c: Destroying worker thread 12
[Mar 20 06:47:17] DEBUG[25657] res_pjsip_registrar_expire.c: Woke up at 1489988837 Interval: 30
[Mar 20 06:47:17] DEBUG[25657] res_pjsip_registrar_expire.c: Expiring 0 contacts
[Mar 20 06:47:23] DEBUG[25619] threadpool.c: Worker thread idle timeout reached. Dying.
[Mar 20 06:47:23] DEBUG[25615] threadpool.c: Destroying worker thread 6
[Mar 20 06:47:26] DEBUG[25617] res_pjsip/pjsip_distributor.c: Could not find matching transaction for Request msg REGISTER/cseq=53083 (rdata0x7f9094001b98)
[Mar 20 06:47:26] DEBUG[25617] res_pjsip/pjsip_distributor.c: Calculated serializer pjsip/distributor-00000033 to use for Request msg REGISTER/cseq=53083 (rdata0x7f9094001b98)
[Mar 20 06:47:26] DEBUG[25618] res_pjsip_endpoint_identifier_ip.c: No identify sections to match against
[Mar 20 06:47:26] DEBUG[25618] res_pjsip_endpoint_identifier_user.c: Attempting identify by From username '1001' domain '192.168.2.100'
[Mar 20 06:47:26] DEBUG[25618] res_pjsip_endpoint_identifier_user.c: Identified by From username '1001' domain '192.168.2.100'
[Mar 20 06:47:26] DEBUG[25617] res_pjsip/pjsip_distributor.c: Could not find matching transaction for Request msg REGISTER/cseq=53084 (rdata0x7f9094001b98)
[Mar 20 06:47:26] DEBUG[25617] res_pjsip/pjsip_distributor.c: Calculated serializer pjsip/distributor-00000033 to use for Request msg REGISTER/cseq=53084 (rdata0x7f9094001b98)
[Mar 20 06:47:26] DEBUG[25618] res_pjsip_endpoint_identifier_ip.c: No identify sections to match against
[Mar 20 06:47:26] DEBUG[25618] res_pjsip_endpoint_identifier_user.c: Attempting identify by From username '1001' domain '192.168.2.100'
[Mar 20 06:47:26] DEBUG[25618] res_pjsip_endpoint_identifier_user.c: Identified by From username '1001' domain '192.168.2.100'
[Mar 20 06:47:26] DEBUG[25618] res_pjsip_authenticator_digest.c: Calculated nonce 1489988846/53973002a197b8acbac0fc7c46b92b1b. Actual nonce is 1489988846/53973002a197b8acbac0fc7c46b92b1b
Solution
This line in debug.log brought me to it
[Mar 20 06:46:59] DEBUG[25618] res_pjsip_endpoint_identifier_ip.c: No identify sections to match against
Two things to change in pjsip.conf
One very silly mistake by myself.
You have to change this lines
[sipgate_identity]
type=identity
To
[sipgate_identity]
type=identify
and second:
sipgate gave me some other errors, so it seems like it does not work with alaw,
so I changed it to gsm
See
[sipgate]
type = endpoint
...
disallow = all
allow = alaw
...
changed to
[sipgate]
type = endpoint
...
disallow = all
allow = gsm
...

Asterisk - One way audio with PJSIP over PRI

I'm having a problem using PJSIP, callee hears me but I got absolute silence on my side..
Few pointers:
1) Chan_SIP works perfectly.
2) PBX and phones are on the same network (no NAT).
3) The problem occurs only on outgoing calls over PRI (no problem when using IAX2 trunk).
4) The issue does not occur when I originate the call via AMI.
5) Asterisk Version - 13.4.0 Freepbx Version - 6.12.65-26 PJSIP version - 2.2 DAHDI version - 2.10.0.1
I know PJSIP is experimental but I have been able to use PJSIP over PRI before.
What could be the problem?
Update(13/07/2015):
I had to delete the previous update and a lot of lines from this log due to characters limit, but it should not matter because the the issue occurs right after dialing (no dial tone).
Called my self from extension 800 (replaced my number and the outbound cid). Here is the asterisk verbose and rtp debug log:
-- Executing [MyNumber#from-internal:1] Macro("PJSIP/800-00000023", "user-callerid,LIMIT,EXTERNAL,") in new stack
-- Executing [s#macro-user-callerid:1] Set("PJSIP/800-00000023", "TOUCH_MONITOR=1436762959.1096921") in new stack
-- Executing [s#macro-user-callerid:2] Set("PJSIP/800-00000023", "AMPUSER=800") in new stack
-- Executing [s#macro-user-callerid:3] GotoIf("PJSIP/800-00000023", "0?report") in new stack
-- Executing [s#macro-user-callerid:4] ExecIf("PJSIP/800-00000023", "1?Set(REALCALLERIDNUM=800)") in new stack
-- Executing [s#macro-user-callerid:5] Set("PJSIP/800-00000023", "AMPUSER=800") in new stack
-- Executing [s#macro-user-callerid:6] GotoIf("PJSIP/800-00000023", "0?limit") in new stack
-- Executing [s#macro-user-callerid:7] Set("PJSIP/800-00000023", "AMPUSERCIDNAME=800") in new stack
-- Executing [s#macro-user-callerid:8] GotoIf("PJSIP/800-00000023", "0?report") in new stack
-- Executing [s#macro-user-callerid:9] Set("PJSIP/800-00000023", "AMPUSERCID=800") in new stack
-- Executing [s#macro-user-callerid:10] Set("PJSIP/800-00000023", "__DIAL_OPTIONS=Ttr") in new stack
-- Executing [s#macro-user-callerid:11] Set("PJSIP/800-00000023", "CALLERID(all)="800" <800>") in new stack
-- Executing [s#macro-user-callerid:12] GotoIf("PJSIP/800-00000023", "0?limit") in new stack
-- Executing [s#macro-user-callerid:13] ExecIf("PJSIP/800-00000023", "1?Set(GROUP(concurrency_limit)=800)") in new stack
-- Executing [s#macro-user-callerid:14] GosubIf("PJSIP/800-00000023", "7?sub-ccss,s,1(from-internal,)") in new stack
-- Executing [s#sub-ccss:1] ExecIf("PJSIP/800-00000023", "0?Return()") in new stack
-- Executing [s#sub-ccss:2] Set("PJSIP/800-00000023", "CCSS_SETUP=TRUE") in new stack
-- Executing [s#sub-ccss:3] GosubIf("PJSIP/800-00000023", "0?monitor_config,1(from-internal,):monitor_default,1(from-internal,)") in new stack
-- Executing [monitor_default#sub-ccss:1] GotoIf("PJSIP/800-00000023", "0?is_exten") in new stack
-- Executing [monitor_default#sub-ccss:2] StackPop("PJSIP/800-00000023", "") in new stack
-- Executing [monitor_default#sub-ccss:3] Return("PJSIP/800-00000023", "FALSE") in new stack
-- Executing [s#macro-user-callerid:15] ExecIf("PJSIP/800-00000023", "0?Set(CHANNEL(language)=)") in new stack
-- Executing [s#macro-user-callerid:16] GotoIf("PJSIP/800-00000023", "1?continue") in new stack
-- Goto (macro-user-callerid,s,30)
-- Executing [s#macro-user-callerid:30] Set("PJSIP/800-00000023", "CALLERID(number)=800") in new stack
-- Executing [s#macro-user-callerid:31] Set("PJSIP/800-00000023", "CALLERID(name)=800") in new stack
-- Executing [s#macro-user-callerid:32] Set("PJSIP/800-00000023", "CDR(cnum)=800") in new stack
-- Executing [s#macro-user-callerid:33] Set("PJSIP/800-00000023", "CDR(cnam)=800") in new stack
-- Executing [s#macro-user-callerid:34] Set("PJSIP/800-00000023", "CHANNEL(language)=en") in new stack
-- Executing [MyNumber#from-internal:2] Gosub("PJSIP/800-00000023", "sub-record-check,s,1(out,MyNumber,dontcare)") in new stack
-- Executing [s#sub-record-check:1] GotoIf("PJSIP/800-00000023", "0?initialized") in new stack
-- Executing [s#sub-record-check:2] Set("PJSIP/800-00000023", "__REC_STATUS=INITIALIZED") in new stack
-- Executing [s#sub-record-check:3] Set("PJSIP/800-00000023", "NOW=1436762959") in new stack
-- Executing [s#sub-record-check:4] Set("PJSIP/800-00000023", "__DAY=13") in new stack
-- Executing [s#sub-record-check:5] Set("PJSIP/800-00000023", "__MONTH=07") in new stack
-- Executing [s#sub-record-check:6] Set("PJSIP/800-00000023", "__YEAR=2015") in new stack
-- Executing [s#sub-record-check:7] Set("PJSIP/800-00000023", "__TIMESTR=20150713-074919") in new stack
-- Executing [s#sub-record-check:8] Set("PJSIP/800-00000023", "__FROMEXTEN=800") in new stack
-- Executing [s#sub-record-check:9] Set("PJSIP/800-00000023", "__MON_FMT=wav") in new stack
-- Executing [s#sub-record-check:10] NoOp("PJSIP/800-00000023", "Recordings initialized") in new stack
-- Executing [s#sub-record-check:11] ExecIf("PJSIP/800-00000023", "0?Set(ARG3=dontcare)") in new stack
-- Executing [s#sub-record-check:12] Set("PJSIP/800-00000023", "REC_POLICY_MODE_SAVE=") in new stack
-- Executing [s#sub-record-check:13] ExecIf("PJSIP/800-00000023", "0?Set(REC_STATUS=NO)") in new stack
-- Executing [s#sub-record-check:14] GotoIf("PJSIP/800-00000023", "3?checkaction") in new stack
-- Goto (sub-record-check,s,17)
-- Executing [s#sub-record-check:17] GotoIf("PJSIP/800-00000023", "1?sub-record-check,out,1") in new stack
-- Goto (sub-record-check,out,1)
-- Executing [out#sub-record-check:1] NoOp("PJSIP/800-00000023", "Outbound Recording Check from 800 to MyNumber") in new stack
-- Executing [out#sub-record-check:2] Set("PJSIP/800-00000023", "RECMODE=dontcare") in new stack
-- Executing [out#sub-record-check:3] ExecIf("PJSIP/800-00000023", "1?Goto(routewins)") in new stack
-- Goto (sub-record-check,out,7)
-- Executing [out#sub-record-check:7] Gosub("PJSIP/800-00000023", "recordcheck,1(dontcare,out,MyNumber)") in new stack
-- Executing [recordcheck#sub-record-check:1] NoOp("PJSIP/800-00000023", "Starting recording check against dontcare") in new stack
-- Executing [recordcheck#sub-record-check:2] Goto("PJSIP/800-00000023", "dontcare") in new stack
-- Goto (sub-record-check,recordcheck,3)
-- Executing [recordcheck#sub-record-check:3] Return("PJSIP/800-00000023", "") in new stack
-- Executing [out#sub-record-check:8] Return("PJSIP/800-00000023", "") in new stack
-- Executing [MyNumber#from-internal:3] ExecIf("PJSIP/800-00000023", "0 ?Set(CDR(accountcode)=)") in new stack
-- Executing [MyNumber#from-internal:4] Set("PJSIP/800-00000023", "ROUTE_CIDSAVE="800" <800>") in new stack
-- Executing [MyNumber#from-internal:5] Set("PJSIP/800-00000023", "MOHCLASS=default") in new stack
-- Executing [MyNumber#from-internal:6] Set("PJSIP/800-00000023", "_NODEST=") in new stack
-- Executing [MyNumber#from-internal:7] Macro("PJSIP/800-00000023", "dialout-trunk,2,MyNumber,,off") in new stack
-- Executing [s#macro-dialout-trunk:1] Set("PJSIP/800-00000023", "DIAL_TRUNK=2") in new stack
-- Executing [s#macro-dialout-trunk:2] GosubIf("PJSIP/800-00000023", "0?sub-pincheck,s,1()") in new stack
-- Executing [s#macro-dialout-trunk:3] GotoIf("PJSIP/800-00000023", "0?disabletrunk,1") in new stack
-- Executing [s#macro-dialout-trunk:4] Set("PJSIP/800-00000023", "DIAL_NUMBER=MyNumber") in new stack
-- Executing [s#macro-dialout-trunk:5] Set("PJSIP/800-00000023", "DIAL_TRUNK_OPTIONS=Ttr") in new stack
-- Executing [s#macro-dialout-trunk:6] Set("PJSIP/800-00000023", "OUTBOUND_GROUP=OUT_2") in new stack
-- Executing [s#macro-dialout-trunk:7] GotoIf("PJSIP/800-00000023", "1?nomax") in new stack
-- Goto (macro-dialout-trunk,s,9)
-- Executing [s#macro-dialout-trunk:9] GotoIf("PJSIP/800-00000023", "0?skipoutcid") in new stack
-- Executing [s#macro-dialout-trunk:10] Set("PJSIP/800-00000023", "DIAL_TRUNK_OPTIONS=Tt") in new stack
-- Executing [s#macro-dialout-trunk:11] Macro("PJSIP/800-00000023", "outbound-callerid,2") in new stack
-- Executing [s#macro-outbound-callerid:1] ExecIf("PJSIP/800-00000023", "0?Set(CALLERPRES()=)") in new stack
-- Executing [s#macro-outbound-callerid:2] ExecIf("PJSIP/800-00000023", "0?Set(REALCALLERIDNUM=800)") in new stack
-- Executing [s#macro-outbound-callerid:3] GotoIf("PJSIP/800-00000023", "1?normcid") in new stack
-- Goto (macro-outbound-callerid,s,6)
-- Executing [s#macro-outbound-callerid:6] Set("PJSIP/800-00000023", "USEROUTCID=OutboundCID") in new stack
-- Executing [s#macro-outbound-callerid:7] Set("PJSIP/800-00000023", "EMERGENCYCID=") in new stack
-- Executing [s#macro-outbound-callerid:8] Set("PJSIP/800-00000023", "TRUNKOUTCID=") in new stack
-- Executing [s#macro-outbound-callerid:9] GotoIf("PJSIP/800-00000023", "1?trunkcid") in new stack
-- Goto (macro-outbound-callerid,s,14)
-- Executing [s#macro-outbound-callerid:14] ExecIf("PJSIP/800-00000023", "0?Set(CALLERID(all)=)") in new stack
-- Executing [s#macro-outbound-callerid:15] ExecIf("PJSIP/800-00000023", "1?Set(CALLERID(all)=OutboundCID)") in new stack
-- Executing [s#macro-outbound-callerid:16] ExecIf("PJSIP/800-00000023", "0?Set(CALLERID(all)=)") in new stack
-- Executing [s#macro-outbound-callerid:17] ExecIf("PJSIP/800-00000023", "0?Set(CALLERPRES()=prohib_passed_screen)") in new stack
-- Executing [s#macro-outbound-callerid:18] Set("PJSIP/800-00000023", "CDR(outbound_cnum)=OutboundCID") in new stack
-- Executing [s#macro-outbound-callerid:19] Set("PJSIP/800-00000023", "CDR(outbound_cnam)=") in new stack
[2015-07-13 07:49:19] WARNING[28882]: func_cdr.c:351 cdr_write_callback: CDR requires a value (CDR(variable)=value)
-- Executing [s#macro-dialout-trunk:12] GosubIf("PJSIP/800-00000023", "0?sub-flp-2,s,1()") in new stack
-- Executing [s#macro-dialout-trunk:13] Set("PJSIP/800-00000023", "OUTNUM=MyNumber") in new stack
-- Executing [s#macro-dialout-trunk:14] Set("PJSIP/800-00000023", "custom=DAHDI/r0") in new stack
-- Executing [s#macro-dialout-trunk:15] ExecIf("PJSIP/800-00000023", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default)Tt)") in new stack
-- Executing [s#macro-dialout-trunk:16] ExecIf("PJSIP/800-00000023", "0?Set(DIAL_TRUNK_OPTIONS=TtM(confirm))") in new stack
-- Executing [s#macro-dialout-trunk:17] Macro("PJSIP/800-00000023", "dialout-trunk-predial-hook,") in new stack
-- Executing [s#macro-dialout-trunk-predial-hook:1] MacroExit("PJSIP/800-00000023", "") in new stack
-- Executing [s#macro-dialout-trunk:18] GotoIf("PJSIP/800-00000023", "0?bypass,1") in new stack
-- Executing [s#macro-dialout-trunk:19] ExecIf("PJSIP/800-00000023", "1?Set(CONNECTEDLINE(name,i)=CID:OutboundCID)") in new stack
-- Executing [s#macro-dialout-trunk:20] GotoIf("PJSIP/800-00000023", "0?customtrunk") in new stack
-- Executing [s#macro-dialout-trunk:21] Dial("PJSIP/800-00000023", "DAHDI/r0/MyNumber,300,Tt") in new stack
-- Requested transfer capability: 0x00 - SPEECH
-- Called DAHDI/r0/MyNumber
-- Moving call (DAHDI/i1/MyNumber-2d9d) from channel 27 to 25.
-- DAHDI/i1/MyNumber-2d9d is proceeding passing it to PJSIP/800-00000023
-- DAHDI/i1/MyNumber-2d9d is ringing
-- DAHDI/i1/MyNumber-2d9d is making progress passing it to PJSIP/800-00000023
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039504, ts 000160, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039505, ts 000320, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039506, ts 000480, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039507, ts 000640, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039508, ts 000800, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039509, ts 000960, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039510, ts 001120, len 000160)
> 0x7522dd98 -- Probation passed - setting RTP source address to 100.100.100.215:11794
Got RTP packet from 100.100.100.215:11794 (type 00, seq 000000, ts 2527472030, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039511, ts 001280, len 000160)
Got RTP packet from 100.100.100.215:11794 (type 00, seq 000001, ts 2527472190, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039512, ts 001440, len 000160)
Got RTP packet from 100.100.100.215:11794 (type 00, seq 000002, ts 2527472350, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039513, ts 001600, len 000160)
Got RTP packet from 100.100.100.215:11794 (type 00, seq 000003, ts 2527472510, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039514, ts 001760, len 000160)
Got RTP packet from 100.100.100.215:11794 (type 00, seq 000004, ts 2527472670, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039515, ts 001920, len 000160)
Got RTP packet from 100.100.100.215:11794 (type 00, seq 000005, ts 2527472830, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039516, ts 002080, len 000160)
Got RTP packet from 100.100.100.215:11794 (type 00, seq 000006, ts 2527472990, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039517, ts 002240, len 000160)
Got RTP packet from 100.100.100.215:11794 (type 00, seq 000007, ts 2527473150, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039518, ts 002400, len 000160)
Got RTP packet from 100.100.100.215:11794 (type 00, seq 000008, ts 2527473310, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039519, ts 002560, len 000160)
Got RTP packet from 100.100.100.215:11794 (type 00, seq 000009, ts 2527473470, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039520, ts 002720, len 000160)
Got RTP packet from 100.100.100.215:11794 (type 00, seq 000010, ts 2527473630, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039521, ts 002880, len 000160)
Got RTP packet from 100.100.100.215:11794 (type 00, seq 000011, ts 2527473790, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039522, ts 003040, len 000160)
Got RTP packet from 100.100.100.215:11794 (type 00, seq 000012, ts 2527473950, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039523, ts 003200, len 000160)
Got RTP packet from 100.100.100.215:11794 (type 00, seq 000013, ts 2527474110, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039524, ts 003360, len 000160)
Got RTP packet from 100.100.100.215:11794 (type 00, seq 000014, ts 2527474270, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039525, ts 003520, len 000160)
Got RTP packet from 100.100.100.215:11794 (type 00, seq 000015, ts 2527474430, len 000160)
-- DAHDI/i1/MyNumber-2d9d answered PJSIP/800-00000023
-- Channel PJSIP/800-00000023 joined 'simple_bridge' basic-bridge <cf7c4ae4-19b8-45a1-92ac-13de2d1fcd7b>
-- Channel DAHDI/i1/MyNumber-2d9d joined 'simple_bridge' basic-bridge <cf7c4ae4-19b8-45a1-92ac-13de2d1fcd7b>
Got RTP packet from 100.100.100.215:11794 (type 00, seq 000286, ts 2527517790, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039797, ts 047040, len 000160)
Got RTP packet from 100.100.100.215:11794 (type 00, seq 000287, ts 2527517950, len 000160)
Sent RTP packet to 100.100.100.215:11794 (type 08, seq 039798, ts 047200, len 000160)
-- Channel PJSIP/800-00000023 left 'simple_bridge' basic-bridge <cf7c4ae4-19b8-45a1-92ac-13de2d1fcd7b>
-- Channel DAHDI/i1/MyNumber-2d9d left 'simple_bridge' basic-bridge <cf7c4ae4-19b8-45a1-92ac-13de2d1fcd7b>
== Spawn extension (macro-dialout-trunk, s, 21) exited non-zero on 'PJSIP/800-00000023' in macro 'dialout-trunk'
-- Hungup 'DAHDI/i1/MyNumber-2d9d'
== Spawn extension (from-internal, MyNumber, 7) exited non-zero on 'PJSIP/800-00000023'
-- Executing [h#from-internal:1] Hangup("PJSIP/800-00000023", "") in new stack
== Spawn extension (from-internal, h, 1) exited non-zero on 'PJSIP/800-00000023'
Thanks for all the help!
You need nat=yes in chan_dahdi.conf under [channels].

Analytics site search includes slash (/)

When viewing my site search reports search terms I get two results for each search-term, one ends with a slash:
"Contact" 65 hits
"Contact/" 60 hits
Can I fix this? And are there 125 total searches for the search-term or are the 60 with slashes included in the 65?
The site is www.taby.se
For some reason your tracking code fires twice (at least this is what the Analytics debugger says), one without the slash and once with a slash. So your numbers are off since you double-count.
_
gaq.push processing "_require" for args: "[inpage_linkid,//www.google-analytics.com/plugins/ga/inpage_linkid.js]":
ga_debug.js:24 Loading script : http://www.google-analytics.com/plugins/ga/inpage_linkid.js
ga_debug.js:24 Waiting on _require of inpage_linkid to be fulfilled.
ga_debug.js:24 _gaq.push processing "_require" for args: "[inpage_linkid,//www.google-analytics.com/plugins/ga/inpage_linkid.js]":
ga_debug.js:24 Waiting on _require of inpage_linkid to be fulfilled.
ga_debug.js:24 _gaq.push processing "_provide" for args: "[inpage_linkid,function f(c,g){var l=/(?:^__utmli=|; ?__utmli=)([^;]*)/,d=this,m=function(a,b,d,c){var h="addEventListener",k="attachEvent";if(a[h])a[h](b,d,!!c);else if(a[k])a[k]("on"+b,d)};this.e=function(){return"; path=/"};var n=c._trackPageview;c._trackPageview=function(a){d.a();d.f&&c._setXKey(12,1,d.f);n.call(c,a)};this.g=function(){this.i||(this.i=!0,m(e,"click",function(a){d.h(a)}))};this.h=function(a){try{a=a||window.event;var b=a.target||a.srcElement;for(a=0;3>a&&!b.id&&b!=e.body;a++)b=b.parentNode;var c=
b.id||"";d.d(c)}catch(g){}return!0};this.b=function(a,b){f.prototype[a]=b};this.d=function(a){if(a&&100>a.length){a=a.replace(/[^-0-9a-z_:.]/gi,"");var b=new Date((new Date).getTime()+3E4);e.cookie="__utmli="+a+"; expires="+b.toUTCString()+this.e()}else this.a()};this.b("trackClickId",this.d);this.a=function(){e.cookie="__utmli=; expires=Thu, 01-Jan-1970 00:00:01 GMT"+this.e()};this.b("deleteClickId",this.a);this.c=function(a){var b=(l.exec(e.cookie)||["",""])[1];a&&a(b);return b};this.b("getClickId",
this.c);this.f=this.c();g.disableAutoTrackLinkId||this.g()}]":
ga_debug.js:24 _gaq.push processing "_require" for args: "[inpage_linkid,//www.google-analytics.com/plugins/ga/inpage_linkid.js]":
ga_debug.js:24 _gaq.push processing "_setAccount" for args: "[UA-29177881-1]":
ga_debug.js:24 _gaq.push processing "_trackPageview" for args: "[]":
ga_debug.js:24 Track Pageview
ga_debug.js:24 Tracking beacon sent!
utmwv=5.6.2d&utms=7&utmn=577468390&utmhn=www.taby.se&utme=12(ctl00_ContentHeader_pageHeader_quickSearch_panelSearchF…ytics-site-search-includes-slash%3B&utmjid=&utmu=qAAAAAAAAAAAAgAAAAAAAAAE~
ga_debug.js:24 Account ID : UA-29177881-1
Page Title : Sökresultat - Täby kommun
Host Name : www.taby.se
Page : /Sok/?query=test
Referring URL : 0
Hit ID : XXXXXXXXXX
Visitor ID : XXXXXXXXXX
Session Count : 1
Session Time - First : Wed Jan 21 2015 14:53:25 GMT 0100 (Mitteleuropäische Zeit)
Session Time - Last : Wed Jan 21 2015 14:53:25 GMT 0100 (Mitteleuropäische Zeit)
Session Time - Current : Wed Jan 21 2015 14:53:25 GMT 0100 (Mitteleuropäische Zeit)
Campaign Time : Wed Jan 21 2015 14:53:25 GMT 0100 (Mitteleuropäische Zeit)
Campaign Session : 1
Campaign Count : 1
Campaign Source : stackoverflow.com
Campaign Medium : referral
Campaign Name : (referral)
Campaign Content : /questions/28068544/analytics-site-search-includes-slash;
Link ID : ctl00_ContentHeader_pageHeader_quickSearch_panelSearchForm
Language : de
Encoding : UTF-8
Flash Version : 16.0 r0
Java Enabled : true
Screen Resolution : 2048x1152
Browser Size : 2031x150
Color Depth : 24-bit
Ga.js Version : 5.6.2d
Cachebuster : 577468390
ga_debug.js:24 _gaq.push processing "_trackPageview" for args: "[/Sok/?query=test/]":
ga_debug.js:24 Track Pageview
ga_debug.js:24 Tracking beacon sent!
utmwv=5.6.2d&utms=8&utmn=1226977039&utmhn=www.taby.se&utme=12(ctl00_ContentHeader_pageHeader_quickSearch_panelSearchF…ytics-site-search-includes-slash%3B&utmjid=&utmu=qACAAAAAAAAAAgAAAAAAAAAE~
ga_debug.js:24 Account ID : UA-29177881-1
Page Title : Sökresultat - Täby kommun
Host Name : www.taby.se
Page : /Sok/?query=test/
Referring URL : 0
Hit ID : XXXXXXXXXX
Visitor ID : XXXXXXXXXX
Session Count : 1
Session Time - First : Wed Jan 21 2015 14:53:25 GMT 0100 (Mitteleuropäische Zeit)
Session Time - Last : Wed Jan 21 2015 14:53:25 GMT 0100 (Mitteleuropäische Zeit)
Session Time - Current : Wed Jan 21 2015 14:53:25 GMT 0100 (Mitteleuropäische Zeit)
Campaign Time : Wed Jan 21 2015 14:53:25 GMT 0100 (Mitteleuropäische Zeit)
Campaign Session : 1
Campaign Count : 1
Campaign Source : stackoverflow.com
Campaign Medium : referral
Campaign Name : (referral)
Campaign Content : /questions/28068544/analytics-site-search-includes-slash;
Link ID : ctl00_ContentHeader_pageHeader_quickSearch_panelSearchForm
Language : de
Encoding : UTF-8
Flash Version : 16.0 r0
Java Enabled : true
Screen Resolution : 2048x1152
Browser Size : 2031x150
Color Depth : 24-bit
Ga.js Version : 5.6.2d
Cachebuster : 1226977039

Asterisk cannot hear sound on Wifi network only

I've installed Asterisk + FreePBX on CentOS 6.5.
Case 1
Asterisk + FreePBX + CentOS 6.5
Phone A - Android 4G newtork (Linphone, PCMA codec)
Phone B - Android Wifi network (Linphone, PCMA codec)
If I can make a call to Phone B from Phone A, it works and answers the phone.
However, I can only hear sound from Phone A when I speak on Phone B.
I thought it is NAT problem, and checked all firewalls for Asterisk. There is no problem with Wifi network either. Is there a way to change NAT settings correctly? Thank you.
Here is the Asterisk CLI logs when I make a call and talk on the phone.
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [1004#from-internal:1] Set("SIP/1003-0000005e", "__RINGTIMER=15") in new stack
-- Executing [1004#from-internal:2] Macro("SIP/1003-0000005e", "exten-vm,novm,1004,0,0,0") in new stack
-- Executing [s#macro-exten-vm:1] Macro("SIP/1003-0000005e", "user-callerid,") in new stack
-- Executing [s#macro-user-callerid:1] Set("SIP/1003-0000005e", "TOUCH_MONITOR=1395938841.94") in new stack
-- Executing [s#macro-user-callerid:2] Set("SIP/1003-0000005e", "AMPUSER=1003") in new stack
-- Executing [s#macro-user-callerid:3] GotoIf("SIP/1003-0000005e", "0?report") in new stack
-- Executing [s#macro-user-callerid:4] ExecIf("SIP/1003-0000005e", "1?Set(REALCALLERIDNUM=1003)") in new stack
-- Executing [s#macro-user-callerid:5] Set("SIP/1003-0000005e", "AMPUSER=1003") in new stack
-- Executing [s#macro-user-callerid:6] GotoIf("SIP/1003-0000005e", "0?limit") in new stack
-- Executing [s#macro-user-callerid:7] Set("SIP/1003-0000005e", "AMPUSERCIDNAME=Third") in new stack
-- Executing [s#macro-user-callerid:8] GotoIf("SIP/1003-0000005e", "0?report") in new stack
-- Executing [s#macro-user-callerid:9] Set("SIP/1003-0000005e", "AMPUSERCID=1003") in new stack
-- Executing [s#macro-user-callerid:10] Set("SIP/1003-0000005e", "__DIAL_OPTIONS=Ttr") in new stack
-- Executing [s#macro-user-callerid:11] Set("SIP/1003-0000005e", "CALLERID(all)="Third" <1003>") in new stack
-- Executing [s#macro-user-callerid:12] GotoIf("SIP/1003-0000005e", "0?limit") in new stack
-- Executing [s#macro-user-callerid:13] ExecIf("SIP/1003-0000005e", "0?Set(GROUP(concurrency_limit)=1003)") in new stack
-- Executing [s#macro-user-callerid:14] GosubIf("SIP/1003-0000005e", "7?sub-ccss,s,1(macro-exten-vm,1004)") in new stack
-- Executing [s#sub-ccss:1] ExecIf("SIP/1003-0000005e", "0?Return()") in new stack
-- Executing [s#sub-ccss:2] Set("SIP/1003-0000005e", "CCSS_SETUP=TRUE") in new stack
-- Executing [s#sub-ccss:3] GosubIf("SIP/1003-0000005e", "0?monitor_config,1(macro-exten-vm,1004):monitor_default,1(macro-exten-vm,1004)") in new stack
-- Executing [monitor_default#sub-ccss:1] GotoIf("SIP/1003-0000005e", "1?is_exten") in new stack
-- Goto (sub-ccss,monitor_default,4)
-- Executing [monitor_default#sub-ccss:4] Set("SIP/1003-0000005e", "CALLCOMPLETION(cc_monitor_policy)=generic") in new stack
-- Executing [monitor_default#sub-ccss:5] Set("SIP/1003-0000005e", "CALLCOMPLETION(cc_max_monitors)=5") in new stack
-- Executing [monitor_default#sub-ccss:6] Return("SIP/1003-0000005e", "TRUE") in new stack
-- Executing [s#sub-ccss:4] GosubIf("SIP/1003-0000005e", "7?agent_config,1():agent_default,1()") in new stack
-- Executing [agent_config#sub-ccss:1] Set("SIP/1003-0000005e", "CALLCOMPLETION(cc_agent_policy)=generic") in new stack
-- Executing [agent_config#sub-ccss:2] Set("SIP/1003-0000005e", "CALLCOMPLETION(cc_offer_timer)=30") in new stack
-- Executing [agent_config#sub-ccss:3] Set("SIP/1003-0000005e", "CALLCOMPLETION(ccbs_available_timer)=") in new stack
-- Executing [agent_config#sub-ccss:4] Set("SIP/1003-0000005e", "CALLCOMPLETION(ccnr_available_timer)=") in new stack
-- Executing [agent_config#sub-ccss:5] Set("SIP/1003-0000005e", "CALLCOMPLETION(cc_callback_macro)=ccss-default") in new stack
-- Executing [agent_config#sub-ccss:6] ExecIf("SIP/1003-0000005e", "1?Set(CALLCOMPLETION(cc_recall_timer)=)") in new stack
-- Executing [agent_config#sub-ccss:7] ExecIf("SIP/1003-0000005e", "1?Set(CALLCOMPLETION(cc_max_agents)=)") in new stack
-- Executing [agent_config#sub-ccss:8] ExecIf("SIP/1003-0000005e", "0?Set(CALLCOMPLETION(cc_agent_dialstring)=Local/1003_1004#from-ccss-)") in new stack
-- Executing [agent_config#sub-ccss:9] Set("SIP/1003-0000005e", "CALLCOMPLETION(cc_callback_macro)=ccss-default") in new stack
-- Executing [agent_config#sub-ccss:10] Return("SIP/1003-0000005e", "") in new stack
-- Executing [s#sub-ccss:5] Set("SIP/1003-0000005e", "DB(AMPUSER/1003/ccss/last_number)=1004") in new stack
-- Executing [s#sub-ccss:6] Return("SIP/1003-0000005e", "") in new stack
-- Executing [s#macro-user-callerid:15] ExecIf("SIP/1003-0000005e", "0?Set(CHANNEL(language)=)") in new stack
-- Executing [s#macro-user-callerid:16] GotoIf("SIP/1003-0000005e", "0?continue") in new stack
-- Executing [s#macro-user-callerid:17] ExecIf("SIP/1003-0000005e", "1?Set(__CALLEE_ACCOUNCODE=)") in new stack
-- Executing [s#macro-user-callerid:18] Set("SIP/1003-0000005e", "__TTL=64") in new stack
-- Executing [s#macro-user-callerid:19] GotoIf("SIP/1003-0000005e", "1?continue") in new stack
-- Goto (macro-user-callerid,s,30)
-- Executing [s#macro-user-callerid:30] Set("SIP/1003-0000005e", "CALLERID(number)=1003") in new stack
-- Executing [s#macro-user-callerid:31] Set("SIP/1003-0000005e", "CALLERID(name)=Third") in new stack
-- Executing [s#macro-user-callerid:32] Set("SIP/1003-0000005e", "CDR(cnum)=1003") in new stack
-- Executing [s#macro-user-callerid:33] Set("SIP/1003-0000005e", "CDR(cnam)=Third") in new stack
-- Executing [s#macro-user-callerid:34] Set("SIP/1003-0000005e", "CHANNEL(language)=en") in new stack
-- Executing [s#macro-exten-vm:2] Set("SIP/1003-0000005e", "RingGroupMethod=none") in new stack
-- Executing [s#macro-exten-vm:3] Set("SIP/1003-0000005e", "__EXTTOCALL=1004") in new stack
-- Executing [s#macro-exten-vm:4] Set("SIP/1003-0000005e", "__PICKUPMARK=1004") in new stack
-- Executing [s#macro-exten-vm:5] Set("SIP/1003-0000005e", "RT=") in new stack
-- Executing [s#macro-exten-vm:6] ExecIf("SIP/1003-0000005e", "0?Macro(vm,novm,DIRECTDIAL,)") in new stack
-- Executing [s#macro-exten-vm:7] ExecIf("SIP/1003-0000005e", "0?MacroExit()") in new stack
-- Executing [s#macro-exten-vm:8] Gosub("SIP/1003-0000005e", "sub-record-check,s,1(exten,1004,)") in new stack
-- Executing [s#sub-record-check:1] Set("SIP/1003-0000005e", "REC_POLICY_MODE_SAVE=") in new stack
-- Executing [s#sub-record-check:2] GotoIf("SIP/1003-0000005e", "1?check") in new stack
-- Goto (sub-record-check,s,7)
-- Executing [s#sub-record-check:7] Set("SIP/1003-0000005e", "__MON_FMT=wav") in new stack
-- Executing [s#sub-record-check:8] GotoIf("SIP/1003-0000005e", "1?next") in new stack
-- Goto (sub-record-check,s,11)
-- Executing [s#sub-record-check:11] ExecIf("SIP/1003-0000005e", "0?Return()") in new stack
-- Executing [s#sub-record-check:12] ExecIf("SIP/1003-0000005e", "0?Set(__REC_POLICY_MODE=)") in new stack
-- Executing [s#sub-record-check:13] GotoIf("SIP/1003-0000005e", "0?exten,1") in new stack
-- Executing [s#sub-record-check:14] Set("SIP/1003-0000005e", "__REC_STATUS=INITIALIZED") in new stack
-- Executing [s#sub-record-check:15] Set("SIP/1003-0000005e", "NOW=1395938841") in new stack
-- Executing [s#sub-record-check:16] Set("SIP/1003-0000005e", "__DAY=28") in new stack
-- Executing [s#sub-record-check:17] Set("SIP/1003-0000005e", "__MONTH=03") in new stack
-- Executing [s#sub-record-check:18] Set("SIP/1003-0000005e", "__YEAR=2014") in new stack
-- Executing [s#sub-record-check:19] Set("SIP/1003-0000005e", "__TIMESTR=20140328-014721") in new stack
-- Executing [s#sub-record-check:20] Set("SIP/1003-0000005e", "__FROMEXTEN=1003") in new stack
-- Executing [s#sub-record-check:21] Set("SIP/1003-0000005e", "__CALLFILENAME=exten-1004-1003-20140328-014721-1395938841.94") in new stack
-- Executing [s#sub-record-check:22] Goto("SIP/1003-0000005e", "exten,1") in new stack
-- Goto (sub-record-check,exten,1)
-- Executing [exten#sub-record-check:1] GotoIf("SIP/1003-0000005e", "0?callee") in new stack
-- Executing [exten#sub-record-check:2] Set("SIP/1003-0000005e", "__REC_POLICY_MODE=dontcare") in new stack
-- Executing [exten#sub-record-check:3] GotoIf("SIP/1003-0000005e", "1?caller") in new stack
-- Goto (sub-record-check,exten,10)
-- Executing [exten#sub-record-check:10] Set("SIP/1003-0000005e", "__REC_POLICY_MODE=dontcare") in new stack
-- Executing [exten#sub-record-check:11] GosubIf("SIP/1003-0000005e", "0?record,1(exten,1004,1003)") in new stack
-- Executing [exten#sub-record-check:12] Return("SIP/1003-0000005e", "") in new stack
-- Executing [s#macro-exten-vm:9] GotoIf("SIP/1003-0000005e", "1?macrodial") in new stack
-- Goto (macro-exten-vm,s,15)
-- Executing [s#macro-exten-vm:15] GosubIf("SIP/1003-0000005e", "0?clrheader,1()") in new stack
-- Executing [s#macro-exten-vm:16] Macro("SIP/1003-0000005e", "dial-one,,Ttr,1004") in new stack
-- Executing [s#macro-dial-one:1] Set("SIP/1003-0000005e", "DEXTEN=1004") in new stack
-- Executing [s#macro-dial-one:2] Set("SIP/1003-0000005e", "DIALSTATUS_CW=") in new stack
-- Executing [s#macro-dial-one:3] GosubIf("SIP/1003-0000005e", "0?screen,1()") in new stack
-- Executing [s#macro-dial-one:4] GosubIf("SIP/1003-0000005e", "0?cf,1()") in new stack
-- Executing [s#macro-dial-one:5] GotoIf("SIP/1003-0000005e", "1?skip1") in new stack
-- Goto (macro-dial-one,s,8)
-- Executing [s#macro-dial-one:8] GotoIf("SIP/1003-0000005e", "0?nodial") in new stack
-- Executing [s#macro-dial-one:9] GotoIf("SIP/1003-0000005e", "0?continue") in new stack
-- Executing [s#macro-dial-one:10] Set("SIP/1003-0000005e", "EXTHASCW=ENABLED") in new stack
-- Executing [s#macro-dial-one:11] GotoIf("SIP/1003-0000005e", "0?next1:cwinusebusy") in new stack
-- Goto (macro-dial-one,s,23)
-- Executing [s#macro-dial-one:23] GotoIf("SIP/1003-0000005e", "1?next3:continue") in new stack
-- Goto (macro-dial-one,s,24)
-- Executing [s#macro-dial-one:24] ExecIf("SIP/1003-0000005e", "0?Set(DIALSTATUS_CW=BUSY)") in new stack
-- Executing [s#macro-dial-one:25] GotoIf("SIP/1003-0000005e", "0?nodial") in new stack
-- Executing [s#macro-dial-one:26] GosubIf("SIP/1003-0000005e", "1?dstring,1():dlocal,1()") in new stack
-- Executing [dstring#macro-dial-one:1] Set("SIP/1003-0000005e", "DSTRING=") in new stack
-- Executing [dstring#macro-dial-one:2] Set("SIP/1003-0000005e", "DEVICES=1004") in new stack
-- Executing [dstring#macro-dial-one:3] ExecIf("SIP/1003-0000005e", "0?Return()") in new stack
-- Executing [dstring#macro-dial-one:4] ExecIf("SIP/1003-0000005e", "0?Set(DEVICES=004)") in new stack
-- Executing [dstring#macro-dial-one:5] Set("SIP/1003-0000005e", "LOOPCNT=1") in new stack
-- Executing [dstring#macro-dial-one:6] Set("SIP/1003-0000005e", "ITER=1") in new stack
-- Executing [dstring#macro-dial-one:7] Set("SIP/1003-0000005e", "THISDIAL=SIP/1004") in new stack
-- Executing [dstring#macro-dial-one:8] GosubIf("SIP/1003-0000005e", "1?zap2dahdi,1()") in new stack
-- Executing [zap2dahdi#macro-dial-one:1] ExecIf("SIP/1003-0000005e", "0?Return()") in new stack
-- Executing [zap2dahdi#macro-dial-one:2] Set("SIP/1003-0000005e", "NEWDIAL=") in new stack
-- Executing [zap2dahdi#macro-dial-one:3] Set("SIP/1003-0000005e", "LOOPCNT2=1") in new stack
-- Executing [zap2dahdi#macro-dial-one:4] Set("SIP/1003-0000005e", "ITER2=1") in new stack
-- Executing [zap2dahdi#macro-dial-one:5] Set("SIP/1003-0000005e", "THISPART2=SIP/1004") in new stack
-- Executing [zap2dahdi#macro-dial-one:6] ExecIf("SIP/1003-0000005e", "0?Set(THISPART2=DAHDI/1004)") in new stack
-- Executing [zap2dahdi#macro-dial-one:7] Set("SIP/1003-0000005e", "NEWDIAL=SIP/1004&") in new stack
-- Executing [zap2dahdi#macro-dial-one:8] Set("SIP/1003-0000005e", "ITER2=2") in new stack
-- Executing [zap2dahdi#macro-dial-one:9] GotoIf("SIP/1003-0000005e", "0?begin2") in new stack
-- Executing [zap2dahdi#macro-dial-one:10] Set("SIP/1003-0000005e", "THISDIAL=SIP/1004") in new stack
-- Executing [zap2dahdi#macro-dial-one:11] Return("SIP/1003-0000005e", "") in new stack
-- Executing [dstring#macro-dial-one:9] Set("SIP/1003-0000005e", "DSTRING=SIP/1004&") in new stack
-- Executing [dstring#macro-dial-one:10] Set("SIP/1003-0000005e", "ITER=2") in new stack
-- Executing [dstring#macro-dial-one:11] GotoIf("SIP/1003-0000005e", "0?begin") in new stack
-- Executing [dstring#macro-dial-one:12] Set("SIP/1003-0000005e", "DSTRING=SIP/1004") in new stack
-- Executing [dstring#macro-dial-one:13] Return("SIP/1003-0000005e", "") in new stack
-- Executing [s#macro-dial-one:27] GotoIf("SIP/1003-0000005e", "0?nodial") in new stack
-- Executing [s#macro-dial-one:28] GotoIf("SIP/1003-0000005e", "0?skiptrace") in new stack
-- Executing [s#macro-dial-one:29] GosubIf("SIP/1003-0000005e", "1?ctset,1():ctclear,1()") in new stack
-- Executing [ctset#macro-dial-one:1] Set("SIP/1003-0000005e", "DB(CALLTRACE/1004)=1003") in new stack
-- Executing [ctset#macro-dial-one:2] Return("SIP/1003-0000005e", "") in new stack
-- Executing [s#macro-dial-one:30] Set("SIP/1003-0000005e", "D_OPTIONS=Ttr") in new stack
-- Executing [s#macro-dial-one:31] ExecIf("SIP/1003-0000005e", "0?SIPAddHeader(Alert-Info: )") in new stack
-- Executing [s#macro-dial-one:32] ExecIf("SIP/1003-0000005e", "0?SIPAddHeader()") in new stack
-- Executing [s#macro-dial-one:33] ExecIf("SIP/1003-0000005e", "0?Set(CHANNEL(musicclass)=)") in new stack
-- Executing [s#macro-dial-one:34] GosubIf("SIP/1003-0000005e", "0?qwait,1()") in new stack
-- Executing [s#macro-dial-one:35] Set("SIP/1003-0000005e", "__CWIGNORE=") in new stack
-- Executing [s#macro-dial-one:36] Set("SIP/1003-0000005e", "__KEEPCID=TRUE") in new stack
-- Executing [s#macro-dial-one:37] GotoIf("SIP/1003-0000005e", "0?usegoto,1") in new stack
-- Executing [s#macro-dial-one:38] GotoIf("SIP/1003-0000005e", "0?godial") in new stack
-- Executing [s#macro-dial-one:39] Gosub("SIP/1003-0000005e", "sub-presencestate-display,s,1(1004)") in new stack
-- Executing [s#sub-presencestate-display:1] Goto("SIP/1003-0000005e", "state-,1") in new stack
-- Goto (sub-presencestate-display,state-,1)
-- Executing [state-#sub-presencestate-display:1] Set("SIP/1003-0000005e", "PRESENCESTATE_DISPLAY=") in new stack
-- Executing [state-#sub-presencestate-display:2] Return("SIP/1003-0000005e", "") in new stack
-- Executing [s#macro-dial-one:40] Set("SIP/1003-0000005e", "CONNECTEDLINE(name,i)=fourth") in new stack
-- Executing [s#macro-dial-one:41] Set("SIP/1003-0000005e", "CONNECTEDLINE(num)=1004") in new stack
-- Executing [s#macro-dial-one:42] Set("SIP/1003-0000005e", "D_OPTIONS=TtrI") in new stack
-- Executing [s#macro-dial-one:43] Dial("SIP/1003-0000005e", "SIP/1004,,TtrI") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Called SIP/1004
-- Connected line update to SIP/1003-0000005e prevented.
-- SIP/1004-0000005f is ringing
-- SIP/1004-0000005f is ringing
-- Connected line update to SIP/1003-0000005e prevented.
-- SIP/1004-0000005f answered SIP/1003-0000005e
=============================================================================
SIP contact
Android on Wifi
Addr->IP : 14.63.12.134:5060
Reg. Contact : sip:1000#14.63.12.134
Android on 4G LTE
Addr->IP : 223.62.202.25:58184
Reg. Contact : sip:1002#223.62.202.25:58184
It looks like Android on Wifi failed to get right address. It doesn't show specific port to send voice.
That's why I love plain-clean Asterisk, your console doesn't get flooded like this for a single call. :)
If you're absolutely sure the codecs are fine, then the audio RTP is not reaching the phone. Check where it's being sent inspecting the SIP INVITE messages (assuming 1003 is the phone not working):
> sip show peer 1003
Look for the Codecs information. If they're good, look into NAT. Set
> sip set debug on
Or for a specific peer:
> sip set debug on peer 1003
Then check your headers, specifically the Contact: header which states 'hey contact me back here'.
If the call is created, meaning the control signaling goes through (you can CALL and HANGUP in either phone) then I'm pretty sure it's a codec issue. If the control is not 100% fine (for example you HANGUP in one phone and the other doesn't know) then it's probably a network issue.
Hope it helps!

Resources