Get Asterisk CLI output for specific call
1. Backup old log: mv /var/log/asterisk/full /var/log/asterisk/full_old (if needed)
2. Enable full log in /etc/asterisk/logger.conf (if needed)
3. asterisk -vvvvrx 'logger reload'
4. Make a call, remembering the destination number you dialed.
5. cd /var/log/asterisk/
6. cat full | grep <DESTINATION NUMBER YOU DIALED BEFORE>
You can get a lot of output. Look at the last line, which may look like this:
[Feb 26 16:12:14] NOTICE[32733] app_mor.c: Localized destination: 37063042438 (cut: , add: )
The most important part is in BOLD, and in this example it is: 32733]
NOTE: First brackets are not included! This is very important!
7. Now do:
cat messages | grep 32733]
... and you will get output of your call.
Notes
Call log starts with:
app_mor.c: Core version: 11.pre.82, Server ID: 1, Dial out settings: , active calls enabled: 1, ....
And ends with:
app_mor.c: Application mor started and ended succesfully, with end code: 0!
If NOTICE is not available in logs, check Asterisk output if (and which) logs are enabled:
Command:
asterisk -rx 'logger show channels'
Output:
Channel Type Status Configuration ------- ---- ------ ------------- /var/log/asterisk/full File Enabled - DEBUG NOTICE WARNING ERROR VERBOSE /var/log/asterisk/messages File Enabled - DEBUG NOTICE WARNING ERROR VERBOSE Console Enabled - WARNING ERROR
If NOTICE is still not available in logs, run this command:
asterisk -rx 'mor logger notice on'