Voipmagic - Our Magic Tip of the Week

We like to stay in contact with out students, sign up for an email to your inbox.

TIP: Battling to find a script to compress those voice recordings? Simply do this and get maximum compression : Use capital WAV for the file format with the MixMonitor() instead of lower case wav :
  • MixMonitor(filename.WAV,b)
  • TIP: Want to rotate the usage of DAHDI trunks ? Use the r flag instead of the g flag to indicate you'd like to rotate the group :
  • exten => 0.,1,Dial(DAHDI/r1/${EXTEN},,r).
  • TIP: Find it frustrating when your recordings fork once the call get transferred, resulting in more than one file for the telephone call ? Negate this by adding this line BEFORE the Dial() Application :
  • exten => s,n,Set(AUDIOHOOK_INHERIT(MixMonitor)=yes)
  • TIP: Let's use the hangup extension to display why the call was ended but add the translated reason to a Verbose() statement :
  • Step 1: add this to the [context] where your calls get made/ended in extensions.conf
  • exten => h,1,Set(MYHANGUP=${DB(HANGUPCAUSE/${HANGUPCAUSE})})
  • exten => h,n,Verbose(0,Reason for Hangup : ${MYHANGUP})
  • Copy and paste this in your in CLI>
  • database put HANGUPCAUSE 0 CANCELLLED
  • database put HANGUPCAUSE 1 UNALLOCATED
  • database put HANGUPCAUSE 2 NO_ROUTE_TRANSIT_NET
  • database put HANGUPCAUSE 3 NO_ROUTE_DESTINATION
  • database put HANGUPCAUSE 5 MISDIALLED_TRUNK_PREFIX
  • database put HANGUPCAUSE 6 CHANNEL_UNACCEPTABLE
  • database put HANGUPCAUSE 7 CALL_AWARDED_DELIVERED
  • database put HANGUPCAUSE 8 PRE_EMPTED
  • database put HANGUPCAUSE 14 NUMBER_PORTED_NOT_HERE
  • database put HANGUPCAUSE 16 NORMAL_CLEARING
  • database put HANGUPCAUSE 17 USER_BUSY
  • database put HANGUPCAUSE 18 NO_USER_RESPONSE
  • database put HANGUPCAUSE 19 NO_ANSWER
  • database put HANGUPCAUSE 20 SUBSCRIBER_ABSENT
  • database put HANGUPCAUSE 21 CALL_REJECTED
  • database put HANGUPCAUSE 22 NUMBER_CHANGED
  • database put HANGUPCAUSE 23 REDIRECTED_TO_NEW_DESTINATION
  • database put HANGUPCAUSE 26 ANSWERED_ELSEWHERE
  • database put HANGUPCAUSE 27 DESTINATION_OUT_OF_ORDER
  • database put HANGUPCAUSE 28 INVALID_NUMBER_FORMAT
  • database put HANGUPCAUSE 29 FACILITY_REJECTED
  • database put HANGUPCAUSE 30 RESPONSE_TO_STATUS_ENQUIRY
  • database put HANGUPCAUSE 31 NORMAL_UNSPECIFIED
  • database put HANGUPCAUSE 34 NORMAL_CIRCUIT_CONGESTION
  • database put HANGUPCAUSE 38 NETWORK_OUT_OF_ORDER
  • database put HANGUPCAUSE 41 NORMAL_TEMPORARY_FAILURE
  • database put HANGUPCAUSE 42 SWITCH_CONGESTION
  • database put HANGUPCAUSE 43 ACCESS_INFO_DISCARDED
  • database put HANGUPCAUSE 44 REQUESTED_CHAN_UNAVAIL
  • database put HANGUPCAUSE 50 FACILITY_NOT_SUBSCRIBED
  • database put HANGUPCAUSE 52 OUTGOING_CALL_BARRED
  • database put HANGUPCAUSE 54 INCOMING_CALL_BARRED
  • database put HANGUPCAUSE 57 BEARERCAPABILITY_NOTAUTH
  • database put HANGUPCAUSE 58 BEARERCAPABILITY_NOTAVAIL
  • database put HANGUPCAUSE 65 BEARERCAPABILITY_NOTIMPL
  • database put HANGUPCAUSE 66 CHAN_NOT_IMPLEMENTED
  • database put HANGUPCAUSE 69 FACILITY_NOT_IMPLEMENTED
  • database put HANGUPCAUSE 81 INVALID_CALL_REFERENCE
  • database put HANGUPCAUSE 88 INCOMPATIBLE_DESTINATION
  • database put HANGUPCAUSE 95 INVALID_MSG_UNSPECIFIED
  • database put HANGUPCAUSE 96 MANDATORY_IE_MISSING
  • database put HANGUPCAUSE 97 MESSAGE_TYPE_NONEXIST
  • database put HANGUPCAUSE 98 WRONG_MESSAGE
  • database put HANGUPCAUSE 99 IE_NONEXIST
  • database put HANGUPCAUSE 100 INVALID_IE_CONTENTS
  • database put HANGUPCAUSE 101 WRONG_CALL_STATE
  • database put HANGUPCAUSE 102 RECOVERY_ON_TIMER_EXPIRE
  • database put HANGUPCAUSE 111 PROTOCOL_ERROR
  • database put HANGUPCAUSE 127 INTERWORKING
  • Now it's easy to see why the call was ended - NORMAL_CLEARING is OK but what about the rest?