ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΌΠ°ΠΊΡΠΎΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΡΠ°Π³ΠΎΠ², ΠΈ Π·Π°ΡΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΎΡΠ½ΡΠ΅ Π½ΠΎΠΌΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π΅Π³ΠΎ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ°ΠΊΡΠΎΡ, ΠΈ ΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½Π°, ΡΡΡΠ»Π°ΡΡΠΈΡ ΡΡ Π½Π° Π½Π΅Π³ΠΎ.
Π’Π΅, ΠΊΡΠΎ Ρ ΠΎΡΠΎΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π·Π°ΠΌΠ΅ΡΡΡ, ΡΡΠΎ ΠΌΠ°ΠΊΡΠΎΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π½Π΅ Π²ΠΎΠ»Π½ΡΠΉΡΠ΅ΡΡ, ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌ Π²Π°Ρ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΠΊΡΠΎΡΠ°.
ΠΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠ΅Π½ΠΈΡΡ ΠΌΠ°ΠΊΡΠΎΡ - ΡΠ²ΠΈΠ΄Π΅ΡΡ Π΅Π³ΠΎ Π² Π΄Π΅Π»Π΅, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΠΈ ΠΏΡΠΈΡΡΡΠΏΠΈΠΌ.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΡΠ°
ΠΠ°Π²Π°ΠΉΡΠ΅ Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ Π»ΠΎΠ³ΠΈΠΊΡ Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ Π²ΡΡΠ΅ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΡΡ ΠΠΆΠΎΠ½Π°, ΠΈ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠΌ Π΅Π΅ Π² ΠΌΠ°ΠΊΡΠΎΡ. ΠΠ°ΡΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ°ΠΊΡΠΎΡΠ° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠΌ ΠΠΆΠΎΠ½Ρ ΠΈ ΠΠΆΠ΅ΠΉΠ½ (ΠΈ ΠΈΡ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ) Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΡΠ° ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡ. (ΠΠΎ ΡΡΡΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ, ΡΡΠΎ ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ.) ΠΠ»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΎΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ macro-, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΡ ΠΌΠ°ΠΊΡΠΎΡΠ°, ΠΈ Π²ΡΡ ΡΡΠ° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ: [macro-voicemail]
ΠΠΌΠ΅Π½Π° ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ ΡΠΎ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° macro-. ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ ΠΈΡ ΠΎΡ ΠΎΠ±ΡΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΠ². ΠΠΎΠΌΠ°Π½Π΄Ρ Π²Π½ΡΡΡΠΈ ΠΌΠ°ΠΊΡΠΎΡΠ° ΡΠΎΡΠΌΠΈΡΡΡΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π²ΡΠ΅ΠΌ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ Π΄ΠΈΠ°Π»ΠΏΠ»Π°- Π½Π°; Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ - ΠΌΠ°ΠΊΡΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠ±Π°Π²ΠΎΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ s. ΠΠ²Π΅Π΄Π΅ΠΌ Π»ΠΎΠ³ΠΈΠΊΡ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΡΡ Π² ΠΌΠ°ΠΊΡΠΎΡ, Π·Π°ΠΌΠ΅Π½ΡΡ ΠΏΠΎ Ρ ΠΎΠ΄Ρ Π΄ΠΎΠ±Π°Π²ΠΎΡΠ½ΡΠ΅ Π½ΠΎΠΌΠ΅ΡΠ° Π½Π° s:
[macro-voicemail]
exten => s,1,Dial(${JOHN},10)
exten => s,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => s,n(unavail),Voicemail( [email protected],u)
exten => s,n,Hangup()
exten => s,n(busy),VoiceMail( [email protected],b)
exten => s,n,Hangup()
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Ρ ΠΎΡΠΎΡΠΎ, Π½ΠΎ Π½Π΅ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΄Π°Π½Π½ΡΠΉ ΠΌΠ°ΠΊΡΠΎΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΠΆΠΎΠ½Π° ΠΈ Π½ΠΎΠΌΠ΅ΡΠ° Π΅Π³ΠΎ ΠΏΠΎΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠΈΠΊΠ°. Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΠΆΠΎΠ½Π°, Π½ΠΎ ΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ Π΅Π³ΠΎ ΡΠΎΡΠ»ΡΠΆΠΈΠ²ΡΠ΅Π², Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄ΡΡΠ³ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΌΠ°ΠΊΡΠΎΡΠ° - Π΅Π³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ. ΠΠΎ ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ Π²ΡΠ·ΠΎΠ² ΠΌΠ°ΠΊΡΠΎΡΠ° Π² Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½Π΅.
ΠΡΠ·ΠΎΠ² ΠΌΠ°ΠΊΡΠΎΡΠ° ΠΈΠ· Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½Π°
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΠΊΡΠΎΡ Π² Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½Π΅ Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Macro(). ΠΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π·Π°Π΄Π°Π½Π½ΡΠΉ ΠΌΠ°ΠΊΡΠΎΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π² Π½Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ Π²ΡΠ·Π²Π°ΡΡ Π½Π°Ρ ΠΌΠ°ΠΊΡΠΎΡ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΡΡ ΠΈΠ· Π΄ΠΈΠ°Π»- ΠΏΠ»Π°Π½Π°, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
exten => 101,1,Macro(voicemail) ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Macro() ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . Π Π½ΠΈΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ: ${MACRO_CONTEXT}
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ» Π²ΡΠ·Π²Π°Π½ ΠΌΠ°ΠΊΡΠΎΡ. ${MACRO_EXTEN}
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ Π΄ΠΎΠ±Π°Π²ΠΎΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ» Π²ΡΠ·Π²Π°Π½ ΠΌΠ°ΠΊΡΠΎΡ.
${MACRO_PRIORITY}
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ» Π²ΡΠ·Π²Π°Π½ ΠΌΠ°ΠΊΡΠΎΡ.
${ARG n}
n-Π½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠΉ Π² ΠΌΠ°ΠΊΡΠΎΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ΅ΡΠ²ΡΠΌ Π±ΡΠ» Π±Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ${ARG1}, Π²ΡΠΎΡΡΠΌ - ${ARG2} ΠΈ Ρ. Π΄.
ΠΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ ΡΠ°Π½Π΅Π΅, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΌΠ°ΠΊΡΠΎΡ Π±ΡΠ» ΠΆΠ΅ΡΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π΄Π»Ρ ΠΠΆΠΎΠ½Π°, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΌ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π΅Π³ΠΎ ΠΈ Π²ΠΌΠ΅ΡΡΠΎ Π½ΠΎΠΌΠ΅ΡΠ° ΠΏΠΎΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠΈΠΊΠ° 101 Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ${MACRO_EXTEN}. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ°ΠΊΡΠΎΡΠ° ΠΈΠ· Π΄ΠΎΠ±Π°Π²ΠΎΡΠ½ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅ΡΠ° 101 ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΡΡ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡ Π² ΠΏΠΎΡΡΠΎΠ²ΡΠΉ ΡΡΠΈΠΊ 101; Π΅ΡΠ»ΠΈ ΠΌΠ°ΠΊΡΠΎΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½ ΠΈΠ· Π΄ΠΎΠ±Π°Π²ΠΎΡΠ½ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅ΡΠ° 102, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠΉΠ΄ΡΡ Π² ΠΏΠΎΡΡΠΎΠ²ΡΠΉ ΡΡΠΈΠΊ 102, ΠΈ Ρ. Π΄.: [macro-voicemail] exten => s,1,Dial(${JOHN},10)
exten => s,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail) exten => s,n(unavail),Voicemail(${MACRO_EXTEN}@default,u) exten => s,n,Hangup()
exten => s,n(busy),VoiceMail(${MACRO_EXTEN}@default,b) exten => s,n,Hangup()
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΠΊΡΠΎΡΠ΅
ΠΡΠ°ΠΊ, ΠΌΡ ΡΠΆΠ΅ Π±Π»ΠΈΠ·ΠΊΠΈ ΠΊ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ ΠΌΠ°ΠΊΡΠΎΡΠ°, ΠΊΠ°ΠΊΠΎΠΉ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½, ΠΎΡΡΠ°Π»ΠΎΡΡ Π²Π½Π΅ΡΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π² ΠΌΠ°ΠΊΡΠΎΡ ΠΊΠ°Π½Π°Π», ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²ΡΠ·ΠΎΠ²Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ Π² Π½Π΅ΠΌ ΠΆΠ΅ΡΡΠΊΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°Π½ ΠΊΠ°Π½Π°Π» ${JOHN} (ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ JOHN ΠΊΠ°ΠΊ ΠΊΠ°Π½Π°Π» Π΄Π»Ρ Π·Π²ΠΎΠ½ΠΊΠΎΠ² ΠΠΆΠΎΠ½Ρ?). ΠΠ΅ΡΠ΅Π΄Π°Π΄ΠΈΠΌ ΠΊΠ°Π½Π°Π» ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΠΈ Π½Π°Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΌΠ°ΠΊΡΠΎΡ Π±ΡΠ΄Π΅Ρ Π³ΠΎΡΠΎΠ²: [macro-voicemail] exten => s,1,Dial(${ARG1},10)
exten => s,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail) exten => s,n(unavail),Voicemail(${MCARO_EXTEN}@default,u)
exten => s,n,Hangup()
exten => s,n(busy),VoiceMail(${MCARO_EXTEN}@default,b) exten => s,n,Hangup()
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΠ°ΠΊΡΠΎΡ Π³ΠΎΡΠΎΠ², Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½Π΅. ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ°ΠΊΡΠΎΡ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΡΡ Π΄Π»Ρ ΠΠΆΠΎΠ½Π°, ΠΠΆΠ΅ΠΉΠ½ ΠΈ ΠΠΆΠ΅ΠΊΠ°:
exten => 101,1,Macro(voicemail,${JOHN}) exten => 102,1,Macro(voicemail,${JANE}) exten => 103,1,Macro(voicemail,${JACK})
Π Π΄Π»Ρ 50 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΡΠΎΡ Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½ ΡΠΎΡ ΡΠ°Π½ΠΈΡ ΡΠ²ΠΎΡ ΡΠ΅ΡΠΊΠΎΡΡΡ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΡΡΡ; Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΎΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½Π° ΡΡΡΠΎΠΊΠ° ΡΠΎ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΠΌΠ°ΠΊΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ. ΠΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π΄Π°ΠΆΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ executives (ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ), courtesy_phones (ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΉ ΡΠ»ΡΠΆΠ±Ρ), call_center_agents (Π°Π³Π΅Π½ΡΡ ΡΠ΅Π½ΡΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΠ·ΠΎΠ²ΠΎΠ²), analog_ sets (Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ), sales_department (ΠΎΡΠ΄Π΅Π» ΠΏΡΠΎΠ΄Π°ΠΆ) ΠΈ Ρ. Π΄. ΠΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΌΠ°ΠΊΡΠΎΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ: [macro-voicemail] exten => s,1,Dial(${ARG1},20) exten => s,n,Goto(s-${DIALSTATUS},1) exten => s-NOANSWER,1,Voicemail(${MACRO_EXTEN},u) exten => s-NOANSWER,n,Goto(incoming,s,1) exten => s-BUSY,1,Voicemail(${MACRO_EXTEN},b) exten => s-BUSY,n,Goto(incoming,s,1) exten => _s-.,1,Goto(s-NOANSWER,1)
ΠΡΠΎΡ ΠΌΠ°ΠΊΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠΉ ΡΡΡΠ΅ΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Dial(): Dial() Π·Π°Π΄Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ DIALSTATUS ΠΊΠ°ΠΊ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΡΡΠΏΠ΅ΡΠ½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΎΡΡΠΈ Π²ΡΠ·ΠΎΠ²Π°. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π²Π°ΡΠΈΠ°Π½ΡΡ NOANSWER (Π½Π΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ) ΠΈ BUSY (Π·Π°Π½ΡΡΠΎ), Π° Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΡΠ°ΠΊΡΡΡΡΡΡ ΠΊΠ°ΠΊ NOANSWER.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Asterisk (AstDB)
ΠΡ ΡΡΠΎ, ΠΏΠΎΠΊΠ° Π΄ΠΎΠ²ΠΎΠ»ΡΠ½Ρ? ΠΠ°Π»ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ Π΅ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅Π΅! Π Asterisk Π΅ΡΡΡ ΠΌΠΎΡΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ Asterisk (AstDB). AstDB ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½Π΅.
ΠΠ»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ PostgreSQL ΠΈΠ»ΠΈ MySQL, Π·Π°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ Asterisk Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ . ΠΡΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ Berkeley DB Π²Π΅ΡΡΠΈΠΈ 1. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈΠ· Asterisk Π² ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ Π±Π°Π·Π°Ρ Π΄Π°Π½Π½ΡΡ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² Π³Π»Π°Π²Π΅ 12.
ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ Asterisk Ρ ΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ Π² Π³ΡΡΠΏΠΏΠ°Ρ , Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π°ΠΌΠΈ, Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡΡΡ ΠΊΠ»ΡΡΠ°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π±Ρ Ρ Π½Π°Ρ ΠΈΠΌΠ΅Π»ΠΎΡΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ test, ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΊΠ»ΡΡΠΎΠΌ count. ΠΠ°ΠΆΠ΄ΠΎΠ΅ Ρ ΡΠ°Π½ΡΡΠ΅Π΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½ΠΎ Ρ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎΠΌ.
Π₯ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π² AstDB
ΠΠ»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Asterisk ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ SetQ[77], Π½ΠΎ Ρ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ Π·Π°Π΄Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π½Π΅ ΠΊΠ°Π½Π°Π»Π°, Π° AstDB. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΊΠ»ΡΡΡ count ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° test Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
exten => 456,1,Set(DB(test/count)=1)
ΠΡΠ»ΠΈ Π² ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π΅ test ΡΠΆΠ΅ Π΅ΡΡΡ ΠΊΠ»ΡΡ count, Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π° Π½ΠΎΠ²ΠΎΠ΅. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Asterisk, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ database put ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΠΊΠ»ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π°Π΄ΠΎ Π²Π²Π΅ΡΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅: data base put test count 1.
ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ· AstDB
Π§ΡΠΎΠ±Ρ ΠΈΠ·Π²Π»Π΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Asterisk ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΡΠ΅ ΡΠΎ ΠΆΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Set(). ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΈΠ·Π²Π»Π΅ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ count (ΠΎΠΏΡΡΡ ΠΆΠ΅ ΠΈΠ· ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° test), ΠΏΡΠΈΡΠ²ΠΎΠΈΠΌ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ COUNT ΠΈ Π·Π°ΡΠ΅ΠΌ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅ΠΌ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°Π±ΠΎΠ½Π΅Π½ΡΡ:
exten => 456,1,Set(DB(test/count)=1) exten => 456,n,Set(COUNT=${DB(test/count)}) exten => 456,n,SayNumber(${COUNT})
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Asterisk, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ database get ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΠΊΠ»ΡΡ. ΠΠ»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΡΠ΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ AstDB ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° database show.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ· AstDB
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Asterisk.
Π§ΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΠΊΠ»ΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DB DELETE().
ΠΠ½ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΡΡΡ ΠΊ ΠΊΠ»ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°:
; ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΊΠ»ΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΎΠ΄ΠΈΠ½ ΡΠ°Π³
exten => 457,1,Verbose(0, The value was ${DB_DELETE(test/count)})
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΠΊΠ»ΡΡΠ΅ΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DBdeltree(). ΠΠ½ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΠΈΠΌΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΠΊΠ»ΡΡΠ΅ΠΉ, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°ΡΠ΅Π³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ. Π§ΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ test, Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
exten => 457,1,DBdeltree(test)
ΠΠ»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ² ΠΊΠ»ΡΡΠ΅ΠΉ AstDB ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ database del ΠΊΠ»ΡΡ ΠΈ database deltree ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ AstDB Π² Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½Π΅
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Asterisk Π² Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½Π΅. Π§ΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ AstDB, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π²Π° ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°. ΠΠ΅ΡΠ²ΡΠΉ - ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠΈΠΉ ΠΏΠΎΡΡΠΎΡΠ½ΡΡΠ²ΠΎ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Asterisk (ΠΈΠΌΠ΅Π΅ΡΡΡ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ ΠΎΠ½Π° ΡΡΡΠΎΠΉΡΠΈΠ²Π° ΠΊ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ°ΠΌ ΡΠΈΡΡΠ΅ΠΌΡ). ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ BLACKLIST() Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΡ Π½ΠΎΠΌΠ΅ΡΠ° ΠΊ ΡΠ΅ΡΠ½ΠΎΠΌΡ ΡΠΏΠΈΡΠΊΡ ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠ΅ΡΠ° ΠΈΠ·Π²Π»Π΅ΡΠ΅ΠΌ ΡΠΈΡΠ»ΠΎ (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ° count) ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠΈΠΌ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ COUNT. ΠΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΊΠ»ΡΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, DB() Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡ NULL (Π½Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ). Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , Π²Π²Π΅Π΄Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ ISNULL(), ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΎ Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ, ΠΌΡ ΠΏΡΠΈΡΠ²ΠΎΠΈΠΌ AstDB ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1 Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Set(). Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡ Π½Π°Ρ ΠΊ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΡ 1. ΠΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Π°Π²ΠΎΡΠ½ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅ΡΠ°: