рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рд╣рдм рдкрд░ рдХрд╛рдлреА рдХреБрдЫ рд▓реЗрдЦ рд╣рдм рдкрд░ рджрд┐рдЦрд╛рдИ рджрд┐рдП рд╣реИрдВ рдФрд░ рд╕рднреА рд▓реЗрдЦреЛрдВ рдореЗрдВ рд▓реЗрдЦрдХ рдбрд╛рдпрд▓ рдпреЛрдЬрдирд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди.conf рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ рдпрд╣рд╛рдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди.conf рдореЗрдВ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдПрдИрдПрд▓ рдкреНрд░рд╛рд░реВрдк (рдПрдХреНрд╕рдЯреЗрдВрд╢рди.рдСрд▓) рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕рдХреЗ рдЕрдВрддрд░реЛрдВ рдХрд╛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдлреА рдХрдо рд╣реИрдВ, рд▓реЗрдХрд┐рди ael рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдбрд╛рдпрд▓ рдпреЛрдЬрдирд╛ рдХреЛ рдХреЙрд▓ рдХрд░реВрдВрдЧрд╛ред "рд╕рд╛рдорд╛рдиреНрдп" рдкреНрд░рд╛рд░реВрдк, рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдФрд░ рдПрдПрд▓ - рдХреНрд░рдорд╢рдГ, рдПрдПрд▓ред рдЖрдЗрдП рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдбрд╛рдпрд▓ рдпреЛрдЬрдирд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:
;
[рдЖрдВрддрд░рд┐рдХ]
exten => s, 1, рдЙрддреНрддрд░
exten => s, n, рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб (someivr)
exten => s, n, рдкрдврд╝реЗрдВ (рдЗрдВрдЯрдЧреНрд░реБрдк ,, 3)
exten => s, n, Goto ($ {intgroup}, 1)
exten => XXX, 1, рдбрд╛рдпрд▓ (SIP / $ {EXTEN})
exten => XXX, n, HangUp
рдФрд░ рдпрд╣ рдЗрд╕реА рддрд░рд╣ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ ael рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рджрд┐рдЦреЗрдЧрд╛:
рд╕рдВрджрд░реНрдн рдЖрдВрддрд░рд┐рдХ {
s => {
рдЙрддреНрддрд░;
рдкреГрд╖реНрдарднреВрдорд┐ (someivr);
рдкрдврд╝реЗрдВ (рдЗрдВрдЯрдЧреНрд░реБрдк ,, 3);
рдЧреЛрдЯреЛ ($ {рдЗрдВрдЯрдЧреНрд░реБрдк}, 1);
}
XXX => {
рдбрд╛рдпрд▓ (SIP / $ {EXTEN});
hangup;
}
}
рдЗрд╕рд▓рд┐рдП рдорддрднреЗрдж рд╕реНрдкрд╖реНрдЯ рд╣реИрдВред рдореЗрд░реЗ рд▓рд┐рдП, ael рдХреЗ рдореБрдЦреНрдп рд▓рд╛рднреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдХреЙрдиреНрдлрд┐рдЧ рд░реАрдбрд┐рдВрдЧ рдХреА рд╕реБрд╡рд┐рдзрд╛: рдЗрд╕ рдЫреЛрдЯреЗ рд╕реЗ рдЕрдореВрд░реНрдд рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рднреА рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреЙрдиреНрдлрд┐рдЧ рдХреЛ рдкрдврд╝рдирд╛ рдФрд░ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рд╣реИред рджреВрд╕рд░реА рдмрд╛рдд рдЬреЛ рдЖрдкрдХреА рдЖрдВрдЦ рдХреЛ рддреБрд░рдВрдд рдкрдХрдбрд╝ рд▓реЗрддреА рд╣реИ рд╡рд╣ рд╣реИ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреА рдХрдореА (s,
n рдКрдкрд░ рдХреЗ рдХреЛрдб рдореЗрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬреИрд╕рд╛ рдХрд┐
рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдбрд╛рдпрд▓рди рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреА рдЕрдм рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред
рд╡реЗ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИрдВ? рдпрд╛ рдмрд▓реНрдХрд┐, рд╡реЗ рдПрдХ рдирд┐рдпрдорд┐рдд рдбрд╛рдпрд▓рдкреНрд▓рд╛рди рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдХреНрдпреЛрдВ рд╣реИрдВ?
рдпрджрд┐ рдЖрдкрдиреЗ рдЗрд╕ рддрд╛рд░рд╛рдВрдХрди рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдбрд╛рдпрд▓рдкреНрд▓рд╛рди рдХреЗ рд╕рд╛рде рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдХрд░ рдЖрд╢реНрдЪрд░реНрдп рд╣реЛрдЧрд╛ рдХрд┐ рдЗрд╕рдореЗрдВ рдЪрдХреНрд░ рдпрд╛ рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реИрдВред рдХреЗрд╡рд▓ рдПрдХ рд╕рд╢рд░реНрдд рд╕рдВрдХреНрд░рдордг (рдЧреЛрдЯреЛрдЗрдлрд╝) рд╣реИ, рдЬрд┐рд╕рдХреА рдорджрдж рд╕реЗ, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЪрдХреНрд░ рднреА рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рд╕реБрд╡рд┐рдзрд╛ рдмрд╣реБрдд рд╣реА рд╕рдВрджрд┐рдЧреНрдз рд╣реИред рдЖрдЗрдП рд╕рд░рд▓рддрдо рдРрд▓ рдХреЛрдб рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдЬреЛ рддрд╛рд░рд╛рдВрдХрди рдХрдВрд╕реЛрд▓ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдпрд╛ рдЧрд▓рдд рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛:
рдЕрдЧрд░ ($ {var} = foo) {
NoOp (рд╕рдЪ);
}
рдФрд░ {
NoOp (рдЭреВрдард╛);
}
рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рдореЗрдВ, рдпрд╣ рд╕реНрдерд┐рддрд┐ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:
exten => 1,1, GotoIf ($ [$ {var} = foo]? label1: label2)
exten => 1, n (рд▓реЗрдмрд▓ 1), NoOp (рд╕рдЪ)
exten => 1, n, рдЧреЛрдЯреЛ (end_of_if)
exten => 1, n (label2), NoOp (рдЧрд▓рдд)
exten => 1, n (end_of_if), ...
рди рдХреЗрд╡рд▓ рд╣рдордиреЗ "рдкрдардиреАрдпрддрд╛" рдЦреЛ рджреА рд╣реИ, рд╣рдореЗрдВ рдпрд╛ рддреЛ рд╣рд░ рдЬрдЧрд╣ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рджреЗрдиреА рд╣реЛрдВрдЧреА (рдФрд░ рдмрд┐рд▓реНрдХреБрд▓ рдЧреИрд░-рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ), рдпрд╛ рд╣рд░ рдЫреАрдВрдХ рдХреЗ рд▓рд┐рдП рд▓реЗрдмрд▓ рдХреЗ рд╕рд╛рде рдЖрдПрдВред рд╣рд╛рдВ, ael рдХреЗ рдкрд╛рд╕ рднреА рд▓реЗрдмрд▓ рд╣реИрдВ, рдХреЗрд╡рд▓ рдЙрдирдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЧрд╛рдпрдм рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЖрдкрдХреЛ рдЧреЛрдЯреЛ рд╕реЗ рджреВрд░ рд╣реЛрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
s => {
рдЙрддреНрддрд░;
somelabel:
hangup;
}
Anel рдореЗрдВ рдкреНрд░рддреНрдпрдХреНрд╖ рд╕реНрдерд┐рддрд┐рдпреЛрдВ (рдпрджрд┐ / рдФрд░) рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рд╕реНрд╡рд┐рдЪ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
_777X => {
рд╕реНрд╡рд┐рдЪ ($ {EXTEN}) {
рдкреИрдЯрд░реНрди N11:
NoOp (рдЖрдкрдиреЗ рдПрдХ N11 рдирдВрдмрд░-- $ {EXTEN} рдХрд╣рд╛);
рддреЛрдбрд╝;
рдорд╛рдорд▓рд╛ 7771:
NoOp (рдЖрдкрдиреЗ 7771 рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ!);
рддреЛрдбрд╝;
рдорд╛рдорд▓рд╛ 7772:
NoOp (рдЖрдкрдиреЗ 7772 рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ!);
рддреЛрдбрд╝;
рдорд╛рдорд▓рд╛ 7773:
NoOp (рдЖрдкрдиреЗ 7773 рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ!);
// рдЧрд┐рд░реЛ-
рдбрд┐рдлрд╝реЙрд▓реНрдЯ:
NoOp (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреНрд▓реЙрдЬ рдореЗрдВ!);
};
рдЕрдм рдЙрд╕реА рд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╛рд░реВрдк рдореЗрдВ? рд╡рд╣реА рдмрд╛рддред
рдЕрдм рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рдЬрдЯрд┐рд▓ рдбрд╛рдпрд▓рдкреНрд▓рд╛рди рд╣реИ, рдЬреЛ рд╕рдордп рдХреЗ рд╕рд╛рде рдмрдврд╝реЗрдЧрд╛ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реЛрдЧрд╛, рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛, рдХрдИ рд╕реНрдерд┐рддрд┐рдпрд╛рдВ, рдХрддрд╛рд░реЗрдВ рд╣реЛрдВрдЧреА, рдФрд░ рдЗрд╕реА рддрд░рд╣ - рдпрд╣рд╛рдВ рдмрд┐рдирд╛ рдРрд▓ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЙрджрд╛рд╕ рд╣реЛрдЧрд╛ред рдХрд╛рдо рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рдордп-рд╕рдордп рдкрд░ рдПрдХ рддрд╛рд░рд╛рдВрдХрди рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдЕрдиреБрд░реЛрдз рдХрд╛рдлреА рд╡рд┐рджреЗрд╢реА рд╣реИрдВред Ael рдХреЗ рдмрд┐рдирд╛ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛрдЧрд╛ред
рдирд┐рд╖реНрдкрдХреНрд╖рддрд╛ рдореЗрдВ, рдпрд╣ рдХрд╣рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рддрд╛рд░рд╛рдВрдХрди рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ "рд╕рд╛рдорд╛рдиреНрдп" рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЖрдк рддрд╛рд░рд╛рдВрдХрди -rx "рдбрд╛рдпрд▓рдкреНрд▓рд╛рди рд╢реЛ" рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ), рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд▓реЗрдХрд┐рди ael рдЬреАрд╡рди рдХреЛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рдХрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрдкрдХреЛ рдирд┐рдпрдорд┐рдд рдбрд╛рдпрд▓ рдпреЛрдЬрдирд╛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдЕрдиреБрднрд╡ рд╣реИ, рддреЛ ael рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред