Who Ends the Call First ?!
- 
 Dears, 
 In Asterisk , is there any availability to know who ends the call first ?
 it will be useful for any call center environment so i am searching for an answer for this question Thanks a lot  
- 
 It's not generally shown anywhere other than the logs. But the end signal should be visible in the logs. 
- 
 @scottalanmiller which logs can view that in asterisk ? 
- 
 /var/log/asterisk/full 
- 
 Look for lines like this: [2016-12-11 17:29:58] VERBOSE[5744][C-000031cf] pbx.c: -- Executing [s@from-trunk:7] Hangup("SIP/162.209.2.96-000014e6", "") in new stack
- 
 @scottalanmiller Greet , so if the Agent who ended the call it will show that the SIP/IP who hanged up the call 
 thanks Scott for this point 
- 
 @AlyRagab said in Who Ends the Call First ?!: @scottalanmiller Greet , so if the Agent who ended the call it will show that the SIP/IP who hanged up the call 
 thanks Scott for this point De nada 
- 
 @scottalanmiller said in Who Ends the Call First ?!: Look for lines like this: [2016-12-11 17:29:58] VERBOSE[5744][C-000031cf] pbx.c: -- Executing [s@from-trunk:7] Hangup("SIP/162.209.2.96-000014e6", "") in new stackbut of course we will need to access this log file in a GUI to be easy to check this issue and search by date and time and by extension. 
- 
 it's a log, open it in notepad/wordpad/excel, etc It's just raw text, nothing special. If you want a fancy GUI around it, then use something like LogStash to send the logs to, then use it's GUI. 
- 
 @AlyRagab said in Who Ends the Call First ?!: but of course we will need to access this log file in a GUI to be easy to check this issue and search by date and time and by extension. Of course. Good logging practice is always to send your logs to a logging system like Graylog or ELK. But looking at it via the command line is actually far easier than any local GUI. GUIs just slow down looking at text files. 
- 
 That hangup line is not specific. all calls run this macro i believe. i would need to dig deeper in the logs to verify that though. 
- 
 So yeah, there is not way to know this detail just from watching the command line ( asterisk -rvvvvv) in Elastix 2.4Call terminated by the person calling in: == Using SIP RTP CoS mark 5 -- Called SIP/5199 > 0xa868640 -- Probation passed - setting RTP source address to 208.100.39.53:15750 -- SIP/5199-000057f0 is ringing > 0xa868640 -- Probation passed - setting RTP source address to 208.100.39.53:15750 -- SIP/5199-000057f0 answered SIP/voipms-000057ef > 0xa868640 -- Probation passed - setting RTP source address to 208.100.39.53:15750 > 0xaecf2e8 -- Probation passed - setting RTP source address to 10.254.103.10:12560 -- Executing [h@macro-dial-one:1] Macro("SIP/voipms-000057ef", "hangupcall,") in new stack -- Executing [s@macro-hangupcall:1] GotoIf("SIP/voipms-000057ef", "1?endmixmoncheck") in new stack -- Goto (macro-hangupcall,s,9) -- Executing [s@macro-hangupcall:9] NoOp("SIP/voipms-000057ef", "End of MIXMON check") in new stack -- Executing [s@macro-hangupcall:10] GotoIf("SIP/voipms-000057ef", "1?nomeetmemon") in new stack -- Goto (macro-hangupcall,s,28) -- Executing [s@macro-hangupcall:28] NoOp("SIP/voipms-000057ef", "End of MEETME check") in new stack -- Executing [s@macro-hangupcall:29] GotoIf("SIP/voipms-000057ef", "1?noautomon") in new stack -- Goto (macro-hangupcall,s,34) -- Executing [s@macro-hangupcall:34] NoOp("SIP/voipms-000057ef", "TOUCH_MONITOR_OUTPUT=") in new stack -- Executing [s@macro-hangupcall:35] GotoIf("SIP/voipms-000057ef", "1?noautomon2") in new stack -- Goto (macro-hangupcall,s,41) -- Executing [s@macro-hangupcall:41] NoOp("SIP/voipms-000057ef", "MONITOR_FILENAME=") in new stack -- Executing [s@macro-hangupcall:42] GotoIf("SIP/voipms-000057ef", "1?skiprg") in new stack -- Goto (macro-hangupcall,s,45) -- Executing [s@macro-hangupcall:45] GotoIf("SIP/voipms-000057ef", "1?skipblkvm") in new stack -- Goto (macro-hangupcall,s,48) -- Executing [s@macro-hangupcall:48] GotoIf("SIP/voipms-000057ef", "1?theend") in new stack -- Goto (macro-hangupcall,s,50) -- Executing [s@macro-hangupcall:50] AGI("SIP/voipms-000057ef", "hangup.agi") in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/hangup.agi -- <SIP/voipms-000057ef>AGI Script hangup.agi completed, returning 0 -- Executing [s@macro-hangupcall:51] Hangup("SIP/voipms-000057ef", "") in new stack == Spawn extension (macro-hangupcall, s, 51) exited non-zero on 'SIP/voipms-000057ef' in macro 'hangupcall' == Spawn extension (macro-dial-one, h, 1) exited non-zero on 'SIP/voipms-000057ef' == Spawn extension (macro-dial-one, s, 37) exited non-zero on 'SIP/voipms-000057ef' in macro 'dial-one' == Spawn extension (macro-exten-vm, s, 9) exited non-zero on 'SIP/voipms-000057ef' in macro 'exten-vm' == Spawn extension (from-did-direct, 5199, 1) exited non-zero on 'SIP/voipms-000057ef' localhost*CLI>Call terminated by the answering agent: == Using SIP RTP CoS mark 5 -- Called SIP/5199 > 0xa868640 -- Probation passed - setting RTP source address to 208.100.39.53:15338 -- SIP/5199-000057f2 is ringing > 0xa868640 -- Probation passed - setting RTP source address to 208.100.39.53:15338 -- SIP/5199-000057f2 answered SIP/voipms-000057f1 > 0xa868640 -- Probation passed - setting RTP source address to 208.100.39.53:15338 > 0xaecf2e8 -- Probation passed - setting RTP source address to 10.254.103.10:12564 -- Executing [h@macro-dial-one:1] Macro("SIP/voipms-000057f1", "hangupcall,") in new stack -- Executing [s@macro-hangupcall:1] GotoIf("SIP/voipms-000057f1", "1?endmixmoncheck") in new stack -- Goto (macro-hangupcall,s,9) -- Executing [s@macro-hangupcall:9] NoOp("SIP/voipms-000057f1", "End of MIXMON check") in new stack -- Executing [s@macro-hangupcall:10] GotoIf("SIP/voipms-000057f1", "1?nomeetmemon") in new stack -- Goto (macro-hangupcall,s,28) -- Executing [s@macro-hangupcall:28] NoOp("SIP/voipms-000057f1", "End of MEETME check") in new stack -- Executing [s@macro-hangupcall:29] GotoIf("SIP/voipms-000057f1", "1?noautomon") in new stack -- Goto (macro-hangupcall,s,34) -- Executing [s@macro-hangupcall:34] NoOp("SIP/voipms-000057f1", "TOUCH_MONITOR_OUTPUT=") in new stack -- Executing [s@macro-hangupcall:35] GotoIf("SIP/voipms-000057f1", "1?noautomon2") in new stack -- Goto (macro-hangupcall,s,41) -- Executing [s@macro-hangupcall:41] NoOp("SIP/voipms-000057f1", "MONITOR_FILENAME=") in new stack -- Executing [s@macro-hangupcall:42] GotoIf("SIP/voipms-000057f1", "1?skiprg") in new stack -- Goto (macro-hangupcall,s,45) -- Executing [s@macro-hangupcall:45] GotoIf("SIP/voipms-000057f1", "1?skipblkvm") in new stack -- Goto (macro-hangupcall,s,48) -- Executing [s@macro-hangupcall:48] GotoIf("SIP/voipms-000057f1", "1?theend") in new stack -- Goto (macro-hangupcall,s,50) -- Executing [s@macro-hangupcall:50] AGI("SIP/voipms-000057f1", "hangup.agi") in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/hangup.agi -- <SIP/voipms-000057f1>AGI Script hangup.agi completed, returning 0 -- Executing [s@macro-hangupcall:51] Hangup("SIP/voipms-000057f1", "") in new stack == Spawn extension (macro-hangupcall, s, 51) exited non-zero on 'SIP/voipms-000057f1' in macro 'hangupcall' == Spawn extension (macro-dial-one, h, 1) exited non-zero on 'SIP/voipms-000057f1' == Spawn extension (macro-dial-one, s, 37) exited non-zero on 'SIP/voipms-000057f1' in macro 'dial-one' == Spawn extension (macro-exten-vm, s, 9) exited non-zero on 'SIP/voipms-000057f1' in macro 'exten-vm' == Spawn extension (from-did-direct, 5199, 1) exited non-zero on 'SIP/voipms-000057f1' localhost*CLI>
- 
 Crap, that sucks. 
- 
 Unless you capture the disconnect button press on a call, I don't know how that would be tracked. But I don't know much about telephony either. 
- 
 @Dashrender said in Who Ends the Call First ?!: Unless you capture the disconnect button press on a call, I don't know how that would be tracked. But I don't know much about telephony either. It's not telephony but the specifics of Asterisk that are in question. 



