ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ, Π½ΠΎ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ VoIP-ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°. ΠΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ - ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ, ΠΎΡΡΠ΅Π³ΠΎ Π²ΡΠΈΠ³ΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ.
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΠΌ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Micromenus
Π ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π²ΡΠ΅ Π²ΠΎΠ·ΡΠ°ΡΡΠ°ΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ IP, ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΠ±ΡΠΎΡΠ·Π΅ΡΠ° ΠΏΡΠΎΡΠ»ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅Π·Π°ΠΌΠ΅ΡΠ΅Π½Π½ΡΠΌ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ½ ΠΊΡΠ°ΠΉΠ½Π΅ ΡΠ΅Π΄ΠΊΠΎ. ΠΡΠΈΠ½ΡΠΈΠΏ ΠΏΡΠΎΡΡ: ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΌΠ΅Π½Ρ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Ρ XML ΠΏΠΎ HTTP ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ² ΡΡΠ³ΡΠ°Π» Ρ ΡΡΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ Π·Π»ΡΡ ΡΡΡΠΊΡ: ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ XML, ΠΌΠΈΠΊΡΠΎΠ±ΡΠΎΡΠ·Π΅ΡΡ ΡΠ°ΡΡΠΎ ΠΈΠΌΠ΅ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΡΡΠ°Π½Π½ΠΎΡΡΠΈ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π·Π½ΡΡΡΡ. ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Micromenus (ΠΠΈΠΊΡΠΎΠΌΠ΅Π½Ρ) ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊ Adhearsion ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° ΡΡΡΡΠ°Π½ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°ΠΌΠΈ ΡΠ°Π·Π½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ. Π ΡΡΠΎΠΉ ΠΎΡΠ΅Π½Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (ΡΠΎ Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΌΠ΅Π½Ρ) Π΄Π»Ρ ΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΌΠ°ΡΠΎΠΊ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² Micromenus ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° Ruby Β«Π΄ΠΎΠΌΠ΅Π½Π½ΡΠΉ ΡΠ·ΡΠΊΒ». ΠΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Micromenu: image 'company-logo' item "Call an Employee" do
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² ΠΈΠ· Π°ΠΊΡΠΈΠ²Π½ΡΡ ΡΡΡΠ»ΠΎΠΊ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ . Employee.find(:all).each do |someone|
# ΠΡΠΎΡΡΠΎ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΊΠΎΠ³ΠΎ-ΡΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ·Π²ΠΎΠ½ΠΈΡΡ Π΅ΠΌΡ ΠΏΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ. call someone.extension, someone.full_name
end
end
item "Weather Information" do
call "Hear the weather report" do play weather_report("Portland, OR")
end
item "Current: " + weather("Portland, OR")[:current][:temp]
end
item "System Uptime: " + 'uptime' Π‘ΠΏΠΈΡΠΎΠΊ item (ΡΠ»Π΅ΠΌΠ΅Π½Ρ) ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. ΠΡΠ»ΠΈ Π΄Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊΠ° ΡΠ΅ΠΊΡΡΠ° (String), Micromenus ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ Π»ΠΈΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ. ΠΡΠ»ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π±Π»ΠΎΠΊ do/end Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΡΠΎΡ ΡΠ΅ΠΊΡΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΠΏΠΎΠ΄ΡΡΡΠ°Π½ΠΈΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ. ΠΠ»Π΅ΠΌΠ΅Π½Ρ call (Π²ΡΠ·ΠΎΠ²) ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ ΡΡΡΠ»ΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠΈΡΡΠ΅Ρ Π²ΡΠ·ΠΎΠ². ΠΠΎΠ³Π΄Π° call ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π±Π»ΠΎΠΊ do/end, ΠΎΠ½ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ Π½ΠΎΠΌΠ΅ΡΠ°, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΡΠ»ΠΈ Π±Π»ΠΎΠΊ do/end ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈ Π²ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· Adhearsion, Π²ΡΠ±ΠΎΡ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½Π° Π² ΡΠ°ΠΌΠΊΠ°Ρ Π±Π»ΠΎΠΊΠ°. ΠΡΠΎ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΡΠ³ΠΎΠ΄Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½ΠΎΠ² ΠΈ ΡΠΊΡΠ°Π½Π½ΡΡ ΠΌΠΈΠΊΡΠΎΠ±ΡΠΎΡΠ·Π΅ΡΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅. ΠΠ· ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π΅ΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ ΠΎ Micro- menus:
β’ Micromenus ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠ»ΠΈ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΠΈΠΉ ΡΠ΅Π»Π΅ΡΠΎΠ½ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π² ΠΎΡΠ²Π΅ΡΠ΅ ΠΎΠ½ΠΈ Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡΡΡ.
β’ ΠΡΠ΅ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠΈ Adhearsion ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Π·Π΄Π΅ΡΡ. Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊ ΡΠ²ΠΎΠ΄ΠΊΠΈ ΠΏΠΎΠ³ΠΎΠ΄Ρ.
β’ ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Micromenus ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Adhearsion Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ .
β’ Ruby ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ Π² ΠΎΡΠΊΡΡΠ²Π°ΡΡΠΈΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ, ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΡ (String). Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π²ΡΠ΅ΠΌΡ Π±Π΅Π·ΠΎΡΠΊΠ°Π·Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ (uptime).
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ Π²Ρ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈ ΠΈΠΌΠ΅Π΅ΡΠ΅ ΠΊΠ»Π°ΡΡ Employee, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΠΎ ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ extension (ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅) ΠΈ full_name (ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ).
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Micromenus ΠΏΡΠΎΡΡΠΎ ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΡΠ²Π΅ΡΠΎΠ², ΠΏΠΎΡΡΡΠΏΠ°ΡΡΠΈΡ ΠΏΠΎ HTTP, ΠΎΠ±ΡΡΠ½ΡΠΉ Π²Π΅Π±-Π±ΡΠΎΡΠ·Π΅Ρ ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΡΠ»Π°ΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ Micromenus. ΠΠ»Ρ ΡΠ°ΠΊΠΈΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½ΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ Micromenus ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ ΠΊΡΠ°ΡΠΈΠ²ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ Ajax, ΡΡΡΠ΅ΠΊΡΠ°ΠΌΠΈ DHTML ΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°ΡΡ.
Micromenus - ΡΡΠΎ Π΅ΡΠ΅ ΠΎΠ΄Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Π²Π°ΡΠΈ Adhearsion-ΠΏΡΠΈ- Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ VoIP Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΌΠΈ.
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ
Π₯ΠΎΡΡ Adhearsion ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ²Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π²ΠΊΠ»ΡΡΠ°Ρ PHP ΠΈΠ»ΠΈ ΡΠ΅ΡΠ²Π»Π΅ΡΡ Java, Ruby Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Rails ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΌΠΎΡΠ½ΡΠΌ ΠΏΠ°ΡΡΠ½Π΅ΡΠΎΠΌ. Rails - ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠΈΡΠΎΠΊΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌΠ°Ρ Π² ΠΏΡΠ΅ΡΡΠ΅ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ, ΠΏΡΠΈΡΠ΅ΠΌ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π·Π°ΡΠ»ΡΠΆΠ΅Π½Π½ΠΎ. ΠΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π²Π΅ΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π» Ruby, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡ, ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠ°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·Π±Π°Π²Π»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΎΡ Π½Π΅Π½ΡΠΆΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ. ΠΠΎΡΠ°Π·ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΎΡΡΡ ΠΊΠΎΠ΄Π° Rails ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° Don't Repeat Yourself (ΠΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΠΉΡΡ), ΠΈΠ»ΠΈ DRY, Π²Π΄ΠΎΡ Π½ΠΎΠ²ΠΈΠ»ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠΎΠ² Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Adhearsion Π² ΡΠΎΠΌ Π²ΠΈΠ΄Π΅, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΎΠ½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ΅ΠΉΡΠ°Ρ. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 0.8.0, ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Adhearsion ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΠΏΠΎΠ²Π΅ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Rails-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠΉ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ VoIP, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΡΠΎΡ ΡΠ½ΠΎΠ³ΡΡΠΈΠ±Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π΄ΡΡΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Java
ΠΠ΅ΡΡ ΠΌΠΈΡ ΠΏΡΠΈΡΠ΅Π» Π² ΠΈΠ·ΡΠΌΠ»Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° Sun ΠΎΠ±ΡΡΠ²ΠΈΠ»Π° ΠΎ ΠΏΡΠΈΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΡ Π΄Π²ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° JRuby Π§Π°ΡΠ»ΡΠ·Π° ΠΠ°ΡΡΠ΅ΡΠ° (Charles Nutter) ΠΈ Π’ΠΎΠΌΠ°ΡΠ° ΠΠ½Π΅Π±ΠΎ (Thomas Enebo) Π² ΡΠ΅Π½ΡΡΠ±ΡΠ΅ 2006 Π³ΠΎΠ΄Π°. JRuby - ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Ruby, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π΅ Π½Π° Π‘, Π° Π½Π° Java. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ JRuby ΠΌΠΎΠΆΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Ruby Π² Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ Java, JRuby ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΠΈΡ Π‘-ΡΠ΅Π°Π»ΠΈΠ·Π°- ΡΠΈΡ Ruby 1.8 ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ ΠΈ ΠΎΠ±Π΅ΡΠ°Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΠ±ΠΎΠΉΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅ΠΌ Π±ΡΠ΄ΡΡΠ΅ΠΌ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Ruby, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ΅ Π² JRuby, ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Ruby, Π½ΠΎ ΠΈ Π»ΡΠ±ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Java. ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Adhearsion Π² JRuby ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΡΡΡΡΠ°ΡΡΠΈΠΉ Π°ΡΡΠΎΡΡΠΈΠΌΠ΅Π½Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Java ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π΄ΠΈΠ°Π»- ΠΏΠ»Π°Π½Π° ΠΎΡΠΈΡΠ½ΠΎΠΉ ΠΠ’Π‘. ΠΡΠ»ΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ΅ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌΠΈ Java, Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ Adhearsion Π² ΡΡΠ΅ΠΊ J2EE ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π³ΠΈΠ±ΠΊΠΎΡΡΡ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
ΠΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π±ΡΡΡΡΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅ΠΌΡΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Adhearsion, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ»Π½ΡΠ΅ ΡΠ°Π·Π±ΠΎΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΏΠΎ ΡΠ°Π³Π°ΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ Π²Π΅Π±-ΡΠ°ΠΉΡΠ΅ Adhearsion ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://adhearsion.com, Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ Π±Π»ΠΎΠ³Π΅, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΠΎΠΌ Adhearsion, ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://blog. adhearsion.com, Π½Π° Π²Π΅Π±-ΡΠ°ΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠ°Π»ΡΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ-ΡΡΡΠ΅Π΄ΠΈΡΠ΅Π»Ρ Adhearsion ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://codemecca.com. ΠΠ° ΠΏΠΎΠΌΠΎΡΡΡ Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Ruby ΠΎΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ Π½Π° ΡΠ°ΠΉΡ http://jicksta.com.
11
ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Asterisk GUI
..Π― ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠΎΠ²Π°Π» ΠΌΠ°ΡΠΊ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΠΎΠΈΠ»ΠΈ ΠΊΠΎΡΠ°Π±Π»ΠΈ.
- Π§Π°ΡΠ»ΡΠ· Π‘Π°ΠΉΠΌΠΈΠΊ
Π Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (GUI) ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Asterisk. ΠΠ»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² AsteriskNOW, Π·Π΄Π΅ΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² GUI. ΠΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ GUI Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ. Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, ΠΆΠ΅Π»Π°ΡΡΠΈΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ GUI ΠΈΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ GUI. ΠΡ Π²ΡΡΠ°ΠΆΠ°Π΅ΠΌ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°ΠΌ Digium, ΠΏΠΎΠΌΠΎΠ³Π°Π²ΡΠΈΠΌ ΠΏΠΈΡΠ°ΡΡ ΡΡΡ Π³Π»Π°Π²Ρ, ΠΈ ΠΎΡΠΎΠ±ΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ.
ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ΅Π½ GUI Π΄Π»Ρ Asterisk
Asterisk Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ»Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π΄Π»Ρ ΡΠΌΠ΅Π»ΡΡ . Π Π°Π½ΡΡΠ΅ ΠΎΡ Π½Π°Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΈΡΡ Π½Π΅Π΄ΡΠΆΠΈΠ½Π½ΡΠ΅ ΡΡΠΈΠ»ΠΈΡ ΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΡΠΏΠΎΡΡΡΠ²ΠΎ, ΡΡΠΎΠ±Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ Asterisk Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ²ΠΎΠΈ ΡΠ°ΡΠΏΠΎΡΡΠΆΠ΅Π½ΠΈΡ. Π’Π΅, ΠΊΡΠΎ Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΡΡΠ΅ΠΌΠ»Π΅Π½ΠΈΠΈ ΠΎΡΠ²ΠΎΠΈΡΡ Π΅Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π»ΡΡ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ Π±ΠΎΡΠΎΠ»ΡΡ Π·Π° ΡΠ²ΠΎΠΈ Π·Π²ΠΎΠ½ΠΊΠΈ, Π±ΡΠ»ΠΈ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½Ρ, ΠΏΠΎΠ»ΡΡΠΈΠ² ΠΌΠΎΡΠ½ΡΡ ΠΈ Π³ΠΈΠ±ΠΊΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ (Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠΏΡΠΎΡΠΎΠΌ Π½Π°Π±ΠΎΡ Π½Π°Π²ΡΠΊΠΎΠ²). ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΠ°ΡΡΠΎΠ²ΡΠΉ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΡΠ½ΠΎΠΊ Π½Π΅ Π±ΡΠ» ΠΈ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ Π½Π΅ Π³ΠΎΡΠΎΠ² ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²ΠΎΡΠ½ΡΡ Π½ΠΎΠΌΠ΅ΡΠΎΠ², ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°Π²Π½ΠΎΠΏΡΠ°Π²Π½ΡΠΌΠΈ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌΠΈ ΡΠ΅ΡΠΈ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ Π·Π°Π΄Π°Ρ, ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΡΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Asterisk.
ΠΡΠ΅ Ρ ΡΠ°ΠΌΡΡ ΡΠ°Π½Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½, Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 1.0, Π»ΡΠ΄ΠΈ ΠΏΡΡΠ°ΡΡΡΡ ΠΏΡΠΈΡΡΡΠΈΡΡ ΠΌΠΎΠ³ΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Asterisk Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² (Graphical User Interfaces, GUI). Π‘Π°ΠΌΡΠΌ ΡΡΠΏΠ΅ΡΠ½ΡΠΌ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π½Π° Asterisk, Π½ΠΎ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ Π½Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ» ΠΏΠΎΠ»Π½ΠΎΠΉ Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΠ΅Π΄Π° Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π². ΠΠΎΡΠ»Π΅ Π·Π°ΠΌΠ΅Π½Ρ ΡΠΈΡΡΠΎΠ²ΠΎΠ³ΠΎ Ρ ΠΎΠΊΠΊΡ Π΄ΠΈΠ°Π»ΠΏΠ»Π°Π½Π° Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΎΠΏΡΠΈΠΉ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»Π°ΡΡ ΠΈΠ· ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Asterisk Π² ΡΠΈΡΡΠ΅ΠΌΡ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ Π½Π° Asterisk. ΠΠ΅ΠΏΠ»ΠΎΡ ΠΎ, Π½ΠΎ Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ[107]. Π§ΡΠΎΠ±Ρ GUI Π±ΡΠ» ΠΈΠΌΠ΅Π½Π½ΠΎ GUI Asterisk, Π² Π½Π΅ΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π²ΡΡΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ Π»ΠΈΠ½Π³Π²Π°-ΡΡΠ°Π½ΠΊΠ° Asterisk ΠΈΡΠΏΠΎΠΊΠΎΠ½ Π²Π΅ΠΊΠΎΠ². ΠΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΎΡΡΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π±Π΅Π· ΠΎΠΊΠ°Π·Π°Π½ΠΈΡ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Asterisk ΠΈΠ»ΠΈ ΠΆΠ΅ΡΡΠΊΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ ΠΎΡΠΊΡΡΡΡΠΌΠΈ Π΄Π»Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, Π½Π΅ Π·Π°Π³ΡΡΠΆΠ°Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΈ Π½Π΅ Π·Π°Ρ Π²Π°ΡΡΠ²Π°Ρ ΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ - ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΠ·ΠΎΠ²ΠΎΠ².
ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ Π²ΡΡ ΠΎΠ΄ΠΎΠΌ Π²Π΅ΡΡΠΈΠΈ Asterisk 1.4 Digium Π½Π°ΡΠ°Π»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Asterisk GUI. ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ GUI Π·Π°Π΄ΡΠΌΡΠ²Π°Π»ΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Asterisk ΠΎΡ Digium. Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΠΏΡΠΎΠ΄Π°Π²Π°Π΅ΠΌΠΎΠ΅ ΠΈ ΠΊΠ°ΠΊ Asterisk Appliance Developers Kit (AADK - ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΡΡΡΠΎΠΉΡΡΠ² Asterisk), ΠΈ ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΠΎΠ»ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Ρ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠΌΠΈ (ΠΈ Π² ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅ ΡΠΈΡΡΠΎΠ²ΡΠΌΠΈ) ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ. GUI Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π³ΠΈΠ±ΠΊΠΎΠΉ ΠΈ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ Π·Π°Π΄Π°Ρ ΠΏΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π»ΠΎΠ³ΠΈΠΊΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄ΠΎΡΡΠΎΠ²Π΅ΡΠ½ΠΎΡΡΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. Π’Π°ΠΊΠΆΠ΅ Π±ΡΠ»Π° ΡΡΡΠ΅Π½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π²ΡΡΡΠ½ΡΡ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΈΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π‘ΠΎΠ·Π΄Π°Π½Π½Π°Ρ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΏΠΎΠ»ΡΡΠΈΠ»Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ AJAM (ΠΎΠ±ΡΠ³ΡΡΠ²Π°Π΅ΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Web 2.0 Ajax), ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠΎΠΉ ΠΎΡ Asynchronous JavaScript and Asterisk Manager (ΠΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ JavaScript ΠΈ Asterisk). ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ AJAM-ΠΊΠΎΠ΄, Π½Π°Π±ΠΎΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ AJAM Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠ° Asterisk - Π²ΡΠ΅ Π²ΠΌΠ΅ΡΡΠ΅, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡ, ΡΠΎΡΠΌΠΈΡΡΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Asterisk GUI.