рдо рдЖрдИрдкреА рдЯреЗрд▓рд┐рдлреЛрдиреА рдмреЗрдЪреНрдиреЗ рд░ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреЗ, рдПрдХреАрдХреГрдд рдЧрд░реНрдиреЗ рдХрдореНрдкрдиреАрдорд╛ рдЖрдЙрдЯрд╕реЛрд░реНрд╕рд░рдХреЛ рд░реВрдкрдорд╛ рдХрд╛рдо рдЧрд░реНрдЫреБред рдЬрдм рдорд▓рд╛рдИ рдпреЛ рд░ рдпрд╕ рдХрдореНрдкрдиреАрд▓рд╛рдИ рдЧреНрд░рд╛рд╣рдХрд╣рд░реВрд▓реЗ рднрдПрдХрд╛ PBXs рд░ рд╕рд╛рдереИ рд╡рд┐рднрд┐рдиреНрди VDS рдХрдореНрдкрдиреАрд╣рд░реВрдорд╛ рднрд░реНрдЪреБрдЕрд▓ PBX рд╕рдБрдЧ рдПрдХреАрдХрд░рдг рдЧрд░реНрди рд╣рд╛рдореА рдпреЛ рд░ рдпреЛ рдХрдореНрдкрдиреАрд▓рд╛рдИ рдХреЗрд╣реА рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ рдХрд┐ рднрдиреЗрд░ рд╕реЛрдзрд┐рдпреЛ, рдо Google рдЧрдПрдБред рд░ рдкрдХреНрдХреИ рдкрдирд┐ рдЙрд╕рд▓реЗ рдорд▓рд╛рдИ рдПрдЙрдЯрд╛ рд▓рд┐рдЩреНрдХ рджрд┐рдпреЛ
рд╣рд╛рдореА рдХрд╛рдордХреЛ рддрд░реНрдХ рдЕрдзреНрдпрдпрди рдЧрд░реНрдЫреМрдВ
рддреНрдпрд╕реИрд▓реЗ рд╢реБрд░реБрд╡рд╛рддрдХрд╛ рд▓рд╛рдЧрд┐, рдпреЛ рд╕рдмреИ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдиреБрдкрд░реНрдЫред рдЬрдм PBX рдмрд╛рд╣рд┐рд░рдмрд╛рдЯ рдХрд▓ рдкреНрд░рд╛рдкреНрдд рд╣реБрдиреНрдЫ (рдкреНрд░рджрд╛рдпрдХрдмрд╛рдЯ SIP INVITE рдШрдЯрдирд╛), рдбрд╛рдпрд▓рдкреНрд▓рд╛рди (рдбрд╛рдпрд▓ рдкреНрд▓рд╛рди, рдбрд╛рдпрд▓рдкреНрд▓рд╛рди) рдХреЛ рдкреНрд░рд╢реЛрдзрди рд╕реБрд░реБ рд╣реБрдиреНрдЫ - рдХреЗ рд░ рдХреБрди рдХреНрд░рдордорд╛ рдХрд▓ рдЧрд░реНрдиреЗ рдирд┐рдпрдорд╣рд░реВред рдкрд╣рд┐рд▓реЛ рдкреНрдпрд╛рдХреЗрдЯрдмрд╛рдЯ, рддрдкрд╛рдИрдВрд▓реЗ рдзреЗрд░реИ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдЬреБрди рддреНрдпрд╕рдкрдЫрд┐ рдирд┐рдпрдорд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред SIP рдХреЛ рдЖрдиреНрддрд░рд┐рдХ рдЕрдзреНрдпрдпрдирдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрдкрдХрд░рдг рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╣реЛ sngrep (
рд╕рд░рд▓реАрдХреГрдд рд░реВрдкрдорд╛, рдбрд╛рдпрд▓рдкреНрд▓рд╛рдирд▓реЗ рдкрд╣рд┐рд▓реЛ рдкреНрдпрд╛рдХреЗрдЯрд╕рдБрдЧ рдорд╛рддреНрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдЧрд░реНрджрдЫ, рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рдХреБрд░рд╛рдХрд╛рдиреАрдХреЛ рдХреНрд░рдордорд╛, рдХрд▓рд╣рд░реВ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░рд┐рдиреНрдЫ, рдмрдЯрди рдерд┐рдЪреНрдиреЗ (рдбреАрдЯреАрдПрдордПрдл), рдлрд▓реЛрдореА, рд░рд┐рдЩреНрдЧреНрд░реБрдк, рдЖрдИрднреАрдЖрд░ рд░ рдЕрдиреНрдп рдЬрд╕реНрддрд╛ рд╡рд┐рднрд┐рдиреНрди рд░реЛрдЪрдХ рдХреБрд░рд╛рд╣рд░реВред
рдирд┐рдордиреНрддреНрд░рдгрд╛ рдкреНрдпрд╛рдХ рднрд┐рддреНрд░ рдХреЗ рдЫ
рд╡рд╛рд╕реНрддрд╡рдорд╛, рдзреЗрд░реИ рд╕рд╛рдзрд╛рд░рдг рдбрд╛рдпрд▓рдкреНрд▓рд╛рдирд╣рд░реВ рдкрд╣рд┐рд▓реЛ рджреБрдИ рдХреНрд╖реЗрддреНрд░рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрджрдЫ, рд░ рд╕рдореНрдкреВрд░реНрдг рддрд░реНрдХ DID рд░ CallerID рд╡рд░рд┐рдкрд░рд┐ рдШреБрдореНрдЫред DID - рдЬрд╣рд╛рдБ рд╣рд╛рдореА рдХрд▓ рдЧрд░реНрджреИрдЫреМрдВ, CallerID - рдЬрд╕рд▓реЗ рдХрд▓ рдЧрд░реНрджреИрдЫред
рддрд░ рдЬреЗ рднрдП рдкрдирд┐, рд╣рд╛рдореАрд╕рдБрдЧ рдПрдЙрдЯрд╛ рдХрдореНрдкрдиреА рдЫ рд░ рдПрдЙрдЯрд╛ рдлреЛрди рдЫреИрди - рдЬрд╕рдХреЛ рдорддрд▓рдм PBX рд╕рдБрдЧ рд╕рдореНрднрд╡рддрдГ рдХрд▓ рд╕рдореВрд╣рд╣рд░реВ рдЫрдиреН (рдПрдХреИ рд╕рд╛рде / рдзреЗрд░реИ рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдШрдгреНрдЯреА рдмрдЬреНрдиреЗ) рд╢рд╣рд░ рдирдореНрдмрд░рд╣рд░реВрдорд╛ (рд░рд┐рдВрдЧ рд╕рдореВрд╣), IVR (рдирдорд╕реНрддреЗ, рддрдкрд╛рдИрдВрд▓реЗ рдХрд▓ рдЧрд░реНрдиреБрднрдпреЛ ... рдерд┐рдЪреНрдиреБрд╣реЛрд╕реНред рдПрдЙрдЯрд╛рдХреЛ рд▓рд╛рдЧрд┐ ...), рдЙрддреНрддрд░ рджрд┐рдиреЗ рдореЗрд╕рд┐рдирд╣рд░реВ (рд╡рд╛рдХреНрдпрд╛рдВрд╢рд╣рд░реВ), рд╕рдордп рд╕рд░реНрддрд╣рд░реВ, рдЕрдиреНрдп рдирдореНрдмрд░рд╣рд░реВрдорд╛ рд╡рд╛ рд╕реЗрд▓рдорд╛ рдлрд░реНрд╡рд╛рд░реНрдб рдЧрд░реНрджреИ (FollowMe, Forward)ред рдпрд╕рдХреЛ рдорддрд▓рдм рдпреЛ рд╣реЛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рдорд╛ рдХрд╕рд▓реЗ рдХрд▓ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗрдЫ рд░ рдХрд▓ рдЖрдЙрдБрджрд╛ рдХреЛрд╕рдБрдЧ рдХреБрд░рд╛рдХрд╛рдиреА рд╣реБрдиреЗрдЫ рднрдиреЗрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрди рдзреЗрд░реИ рдЧрд╛рд╣реНрд░реЛ рдЫред рдпрд╣рд╛рдБ рд╣рд╛рдореНрд░рд╛ рдЧреНрд░рд╛рд╣рдХрд╣рд░реВрдХреЛ PBX рдорд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХрд▓рдХреЛ рд╕реБрд░реБрд╡рд╛рддрдХреЛ рдЙрджрд╛рд╣рд░рдг рд╣реЛ
рдХрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ PBX рдорд╛ рдкреНрд░рд╡реЗрд╢ рдЧрд░реЗрдкрдЫрд┐, рдпреЛ рд╡рд┐рднрд┐рдиреНрди "рд╕рдиреНрджрд░реНрдн" рдорд╛ рдбрд╛рдпрд▓рдкреНрд▓рд╛рди рдорд╛рд░реНрдлрдд рдпрд╛рддреНрд░рд╛ рдЧрд░реНрджрдЫред Asterisk рдХреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдмрд╛рдЯ рд╕рдиреНрджрд░реНрдн рднрдиреЗрдХреЛ рдЖрджреЗрд╢рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛рдмрджреНрдз рд╕реЗрдЯ рд╣реЛ, рдЬрд╕рдордзреНрдпреЗ рдкреНрд░рддреНрдпреЗрдХрд▓реЗ рдбрд╛рдпрд▓ рдЧрд░рд┐рдПрдХреЛ рдирдореНрдмрд░рджреНрд╡рд╛рд░рд╛ рдлрд┐рд▓реНрдЯрд░ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ (рдпрд╕рд▓рд╛рдИ exten рднрдирд┐рдиреНрдЫ, рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдЪрд░рдгрдорд╛ рдмрд╛рд╣реНрдп рдХрд▓рдХреЛ рд▓рд╛рдЧрд┐ exten=DID)ред рдбрд╛рдпрд▓рдкреНрд▓рд╛рди рд▓рд╛рдЗрдирдХрд╛ рдЖрджреЗрд╢рд╣рд░реВ рдЬреБрдирд╕реБрдХреИ рд╣реБрди рд╕рдХреНрдЫрдиреН - рдЖрдиреНрддрд░рд┐рдХ рдХрд╛рд░реНрдпрд╣рд░реВ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЖрдиреНрддрд░рд┐рдХ рдЧреНрд░рд╛рд╣рдХрд▓рд╛рдИ рдХрд▓ рдЧрд░реНрдиреБрд╣реЛрд╕реН - Dial()
рдлреЛрди рддрд▓ рд░рд╛рдЦреЗ - Hangup()
), рд╕рд╢рд░реНрдд рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ (IF, ELSE, ExecIF
рд░ рдЬрд╕реНрддреИ), рдпрд╕ рд╕рдиреНрджрд░реНрднрдХреЛ рдЕрдиреНрдп рдирд┐рдпрдорд╣рд░реВрдорд╛ рд╕рдВрдХреНрд░рдордг (Goto, GotoIF
), рдкреНрд░рдХрд╛рд░реНрдп рдХрд▓ (рдЧреЛрд╕рдм, рдореНрдпрд╛рдХреНрд░реЛ) рдХреЛ рд░реВрдкрдорд╛ рдЕрдиреНрдп рд╕рдиреНрджрд░реНрднрд╣рд░реВрдорд╛ рд╕рдВрдХреНрд░рдордгред рдЫреБрдЯреНрдЯреИ рдирд┐рд░реНрджреЗрд╢рди include ╨╕╨╝╤П_╨║╨╛╨╜╤В╨╡╨║╤Б╤В╨░
, рдЬрд╕рд▓реЗ рд╣рд╛рд▓рдХреЛ рд╕рдиреНрджрд░реНрднрдХреЛ рдЕрдиреНрддреНрдпрдорд╛ рдЕрд░реНрдХреЛ рд╕рдиреНрджрд░реНрднрдмрд╛рдЯ рдЖрджреЗрд╢рд╣рд░реВ рдердкреНрдЫред рд╕рдорд╛рд╡реЗрд╢ рдорд╛рд░реНрдлрдд рд╕рдорд╛рд╡реЗрд╢ рдЧрд░рд┐рдПрдХрд╛ рдЖрджреЗрд╢рд╣рд░реВ рд╕рдзреИрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реБрдиреНрдЫрдиреН ╨┐╨╛╤Б╨╗╨╡ рд╡рд░реНрддрдорд╛рди рд╕рдиреНрджрд░реНрднрдХреЛ рдЖрджреЗрд╢ред
FreePBX рдХреЛ рд╕рдореНрдкреВрд░реНрдг рддрд░реНрдХ Gosub, Macro рд░ рд╣реНрдпрд╛рдиреНрдбрд▓рд░ рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВ рдорд╛рд░реНрдлрдд рд╕рдорд╛рд╡реЗрд╢ рд░ рдХрд▓ рдорд╛рд░реНрдлрдд рдПрдХрдЕрд░реНрдХрд╛рдорд╛ рд╡рд┐рднрд┐рдиреНрди рд╕рдиреНрджрд░реНрднрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрдирдорд╛ рдирд┐рд░реНрдорд┐рдд рдЫред рдЖрдЧрдорди FreePBX рдХрд▓рд╣рд░реВрдХреЛ рд╕рдиреНрджрд░реНрднрд▓рд╛рдИ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН
рдХрд▓ рдорд╛рдерд┐рджреЗрдЦрд┐ рддрд▓рд╕рдореНрдо рд╕рдмреИ рд╕рдиреНрджрд░реНрднрд╣рд░реВ рдорд╛рд░реНрдлрдд рдЬрд╛рдиреНрдЫ, рдкреНрд░рддреНрдпреЗрдХ рд╕рдиреНрджрд░реНрднрдорд╛ рдореНрдпрд╛рдХреНрд░реЛ (рдореНрдпрд╛рдХреНрд░реЛ), рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ (рдЧреЛрд╕рдм) рд╡рд╛ рдмрд╕ рдЯреНрд░рд╛рдиреНрдЬрд┐рд╕рдирд╣рд░реВ (рдЧреЛрдЯреЛ) рдЬрд╕реНрддрд╛ рдЕрдиреНрдп рд╕рдиреНрджрд░реНрднрд╣рд░реВрдорд╛ рдХрд▓ рд╣реБрди рд╕рдХреНрдЫ, рддреНрдпрд╕реИрд▓реЗ рдХреЗ рднрдирд┐рдиреНрдЫ рднрдиреНрдиреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░реВрдЦ рдорд╛рддреНрд░ рд╣реБрди рд╕рдХреНрдЫред рд▓рдЧрд╣рд░реВрдорд╛ рдЯреНрд░реНрдпрд╛рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реНред
рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ PBX рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯрдЕрдк рд░реЗрдЦрд╛рдЪрд┐рддреНрд░ рддрд▓ рджреЗрдЦрд╛рдЗрдПрдХреЛ рдЫред рдХрд▓ рдЧрд░реНрджрд╛, рдЖрдЧрдорди рдорд╛рд░реНрдЧрд╣рд░реВрдорд╛ DID рдЦреЛрдЬреА рдЧрд░рд┐рдиреНрдЫ, рдЕрд╕реНрдерд╛рдпреА рдЕрд╡рд╕реНрдерд╛рд╣рд░реВ рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдЬрд╛рдБрдЪ рдЧрд░рд┐рдиреНрдЫ, рдпрджрд┐ рд╕рдмреИ рдХреБрд░рд╛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЫ рднрдиреЗ, рднреНрд╡рд╛рдЗрд╕ рдореЗрдиреБ рд╕реБрд░реБ рд╣реБрдиреНрдЫред рдпрд╕рдмрд╛рдЯ, рдмрдЯрди 1 рд╡рд╛ рдЯрд╛рдЗрдордЖрдЙрдЯ рдерд┐рдЪреЗрд░, рдбрд╛рдпрд▓рд┐рдЩ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВрдХреЛ рд╕рдореВрд╣рдорд╛ рдирд┐рд╕реНрдХрдиреБрд╣реЛрд╕реНред рдХрд▓ рд╕рдорд╛рдкреНрдд рднрдПрдкрдЫрд┐, рд╣реНрдпрд╛рдЩреНрдЧрдЕрдкрдХрд▓ рдореНрдпрд╛рдХреНрд░реЛ рднрдирд┐рдиреНрдЫ, рддреНрдпрд╕рдкрдЫрд┐ рд╡рд┐рд╢реЗрд╖ рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВ (рд╣реНрдпрд╛рдЩрдЕрдк рд╣реНрдпрд╛рдиреНрдбрд▓рд░) рдмрд╛рд╣реЗрдХ рдбрд╛рдпрд▓рдкреНрд▓рд╛рдирдорд╛ рдХреЗрд╣реА рдЧрд░реНрди рд╕рдХрд┐рдБрджреИрдиред
рдпрд╕ рдХрд▓ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдордорд╛ рд╣рд╛рдореАрд▓реЗ CRM рд▓рд╛рдИ рдХрд▓ рд╕реБрд░реБ рднрдПрдХреЛ рдЬрд╛рдирдХрд╛рд░реА, рдХрд╣рд╛рдБ рд░реЗрдХрд░реНрдбрд┐рдЩ рд╕реБрд░реБ рдЧрд░реНрдиреЗ, рдХрд╣рд╛рдБ рд░реЗрдХрд░реНрдбрд┐рдЩ рдЕрдиреНрддреНрдп рдЧрд░реНрдиреЗ рд░ CRM рдорд╛ рдХрд▓рдХреЛ рдЬрд╛рдирдХрд╛рд░реА рд╕рд╣рд┐рдд рдкрдард╛рдЙрдиреЗ рдмрд╛рд░реЗ рдЬрд╛рдирдХрд╛рд░реА рдЙрдкрд▓рдмреНрдз рдЧрд░рд╛рдЙрдиреБрдкрд░реНрдЫ?
рдмрд╛рд╣реНрдп рдкреНрд░рдгрд╛рд▓реА рд╕рдВрдЧ рдПрдХреАрдХрд░рдг
PBX рд░ CRM рдПрдХреАрдХрд░рдг рдХреЗ рд╣реЛ? рдпреА рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд╣рд░реВ рд╣реБрдиреН рдЬрд╕рд▓реЗ рдпреА рджреБрдИ рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВ рдмреАрдЪ рдбреЗрдЯрд╛ рд░ рдШрдЯрдирд╛рд╣рд░реВ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрджрдЫ рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдПрдХрдЕрд░реНрдХрд╛рд▓рд╛рдИ рдкрдард╛рдЙрдБрджрдЫред рд╕реНрд╡рддрдиреНрддреНрд░ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдЮреНрдЪрд╛рд░ рдЧрд░реНрдиреЗ рд╕рдмреИрднрдиреНрджрд╛ рд╕рд╛рдорд╛рдиреНрдп рддрд░рд┐рдХрд╛ API рдорд╛рд░реНрдлрдд рд╣реЛ, рд░ API рд╣рд░реВ рдкрд╣реБрдБрдЪ рдЧрд░реНрдиреЗ рд╕рдмреИрднрдиреНрджрд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рддрд░рд┐рдХрд╛ HTTP REST рд╣реЛред рддрд░ рддрд╛рд░рд╛рдЩреНрдХрдирдХреЛ рд▓рд╛рдЧрд┐ рд╣реЛрдЗрдиред
Asterisk рднрд┐рддреНрд░ рдЫ:
-
AGI - рдмрд╛рд╣реНрдп рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВ/рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВрдХреЛ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХрд▓, рдореБрдЦреНрдп рд░реВрдкрдорд╛ рдбрд╛рдпрд▓рдкреНрд▓рд╛рдирдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рддреНрдпрд╣рд╛рдБ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВ рдЫрдиреНред
phpagi ,PAGI -
AMI - рдкрд╛рда TCP рд╕рдХреЗрдЯ рдЬрд╕рд▓реЗ рдШрдЯрдирд╛рд╣рд░реВрдХреЛ рд╕рджрд╕реНрдпрддрд╛ рд▓рд┐рдиреЗ рд░ рдкрд╛рда рдЖрджреЗрд╢рд╣рд░реВ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрдиреЗ рд╕рд┐рджреНрдзрд╛рдиреНрддрдорд╛ рдХрд╛рдо рдЧрд░реНрджрдЫ, рднрд┐рддреНрд░рдмрд╛рдЯ SMTP рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ, рдШрдЯрдирд╛рд╣рд░реВ рдЯреНрд░реНрдпрд╛рдХ рдЧрд░реНрди рд░ рдХрд▓рд╣рд░реВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди рд╕рдХреНрдЫ, рддреНрдпрд╣рд╛рдБ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЫред
PAMI - Asterisk рд╕рдВрдЧ рдЬрдбрд╛рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рд╕рдмреИрднрдиреНрджрд╛ рд▓реЛрдХрдкреНрд░рд┐рдп
AMI рдЖрдЙрдЯрдкреБрдЯ рдЙрджрд╛рд╣рд░рдг
рдХрд╛рд░реНрдпрдХреНрд░рдо: рдирдпрд╛рдБ рдЪреНрдпрд╛рдирд▓
рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░: рдХрд▓, рд╕рдмреИ
рдЪреНрдпрд╛рдирд▓: PJSIP/VMS_pjsip-0000078b
рдЪреНрдпрд╛рдирд▓ рд╕реНрдерд┐рддрд┐: 4
ChannelStateDesc: рдШрдгреНрдЯреА
CallerIDNum: 111222
CallerIDName: 111222
ConnectedLineNum:
рдЬреЛрдбрд┐рдПрдХреЛ рд░реЗрдЦрд╛рдирд╛рдо:
рднрд╛рд╖рд╛: en
рдЦрд╛рддрд╛ рдХреЛрдб:
рд╕рдиреНрджрд░реНрдн: pstn рдмрд╛рдЯ
рд╡рд┐рд╕реНрддрд╛рд░: рдПрд╕
рдкреНрд░рд╛рдердорд┐рдХрддрд╛: рез
рдЕрджреНрд╡рд┐рддреАрдп: 1599589046.5244
Linkedid: 1599589046.5244
-
ARI рджреБрдмреИрдХреЛ рдорд┐рд╢реНрд░рдг рд╣реЛ, REST, WebSocket рдорд╛рд░реНрдлрдд, JSON рдврд╛рдБрдЪрд╛рдорд╛ - рддрд░ рддрд╛рдЬрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВ рд░ рд░реНрдпрд╛рдкрд░рд╣рд░реВрд╕рдБрдЧ, рдзреЗрд░реИ рд░рд╛рдореНрд░реЛ рдЫреИрди, рдЕрдлрд╣реНрдпрд╛рдиреНрдб рдлреЗрд▓рд╛ рдкрд░реНрдпреЛ (
phparia ,phpari ) рдЬреБрди рдХрд░рд┐рдм рей рд╡рд░реНрд╖ рдЕрдШрд┐ рдЙрдиреАрд╣рд░реБрдХреЛ рд╡рд┐рдХрд╛рд╕рдорд╛ рдЖрдПрдХреЛ рдерд┐рдпреЛ ред
рдХрд▓ рд╕реБрд░реБ рд╣реБрдБрджрд╛ ARI рдЖрдЙрдЯрдкреБрдЯрдХреЛ рдЙрджрд╛рд╣рд░рдг
{ "variable":"CallMeCallerIDName", "value":"111222", "type":"ChannelVarset", "timestamp":"2020-09-09T09:38:36.269+0000", "channel":{ "id ┬╗:┬╗резрелрепрепремрекрекрейрезрел.релрейрейректА│, ┬лрдирд╛рдо┬╗:┬╗PJSIP/VMSpjsip-000007b6тА│, "state":"Ring", "caller":{ "name":"111222тА│, "number":"111222тА│ }, "connected":{ "name":"", "number" :"" }, "accountcode":"", "dialplan":{ "context":"from-pstn", "exten":"s", "priority":2, "appname":"рд╕реНрдЯреЗрд╕рд┐рд╕", "рдПрдкdata":"hello-world" }, "creativetime":"2020-09-09T09:38:35.926+0000", "language":"en" }, "рддрд╛рд░рд╛рдВрдХрдиid":"48:5b:aa:aa:aa:aa", "application":"hello-world" }
рд╕реБрд╡рд┐рдзрд╛ рд╡рд╛ рдЕрд╕реБрд╡рд┐рдзрд╛, рдПрдХ рд╡рд┐рд╢реЗрд╖ API рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рд╕рдореНрднрд╛рд╡рдирд╛ рд╡рд╛ рдЕрд╕рдореНрднрд╡рддрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░рд┐рдиреНрдЫред CRM рд╕рдБрдЧ рдПрдХреАрдХрд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ рдХрд╛рд░реНрдпрд╣рд░реВ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЫрдиреН:
-
рдХрд▓рдХреЛ рд╢реБрд░реБрд╡рд╛рдд рдЯреНрд░реНрдпрд╛рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдЬрд╣рд╛рдБ рдпреЛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, рдХрд▓рд░рдЖрдИрдбреА рдирд┐рдХрд╛рд▓реНрдиреБрд╣реЛрд╕реН, DID, рд╕реБрд░реБ рд░ рдЕрдиреНрддреНрдп рд╕рдордп, рд╣реБрдирд╕рдХреНрдЫ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдмрд╛рдЯ рдбрд╛рдЯрд╛ (рдлреЛрди рд░ CRM рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдмреАрдЪрдХреЛ рдЬрдбрд╛рди рдЦреЛрдЬреНрди)
-
рдХрд▓рдХреЛ рд░реЗрдХрд░реНрдбрд┐рдЩ рд╕реБрд░реБ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдЕрдиреНрддреНрдп рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдпрд╕рд▓рд╛рдИ рдЗрдЪреНрдЫрд┐рдд рдврд╛рдБрдЪрд╛рдорд╛ рдмрдЪрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН, рд░реЗрдХрд░реНрдбрд┐рдЩрдХреЛ рдЕрдиреНрддреНрдпрдорд╛ рд╕реВрдЪрд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН рдЬрд╣рд╛рдБ рдлрд╛рдЗрд▓ рдЕрд╡рд╕реНрдерд┐рдд рдЫред
-
рдмрд╛рд╣реНрдп рдШрдЯрдирд╛ (рдХрд╛рд░реНрдпрдХреНрд░рдордмрд╛рдЯ) рдорд╛ рдХрд▓ рд╕реБрд░реБ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдЖрдиреНрддрд░рд┐рдХ рдирдореНрдмрд░, рдмрд╛рд╣реНрдп рдирдореНрдмрд░ рдХрд▓ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЬрдбрд╛рди рдЧрд░реНрдиреБрд╣реЛрд╕реНред
-
рд╡реИрдХрд▓реНрдкрд┐рдХ: рд╕реНрдерд╛рдирдХреЛ рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐рдорд╛ рдХрд▓рд╣рд░реВрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ CRM, рдбрд╛рдпрд▓рд░ рд╕рдореВрд╣рд╣рд░реВ рд░ FollowME рд╕рдБрдЧ рдПрдХреАрдХреГрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН (рд╕реАрдЖрд░рдПрдо рдЕрдиреБрд╕рд╛рд░)
рдпреА рд╕рдмреИ рдХрд╛рд░реНрдпрд╣рд░реВ AMI рд╡рд╛ ARI рдорд╛рд░реНрдлрдд рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рддрд░ ARI рд▓реЗ рдзреЗрд░реИ рдХрдо рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ, рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдШрдЯрдирд╛рд╣рд░реВ рдЫреИрдирдиреН, AMI рд╕рдБрдЧ рдЕрдЭреИ рдкрдирд┐ рдзреЗрд░реИ рдЪрд░рд╣рд░реВ рдЫрдиреН (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдореНрдпрд╛рдХреНрд░реЛ рдХрд▓рд╣рд░реВ, рдореНрдпрд╛рдХреНрд░реЛ рднрд┐рддреНрд░ рднреЗрд░рд┐рдПрдмрд▓рд╣рд░реВ рд╕реЗрдЯ рдЧрд░реНрдиреЗ, рдХрд▓ рд░реЗрдХрд░реНрдбрд┐рдЩ рд╕рд╣рд┐рдд) рдЯреНрд░реНрдпрд╛рдХ рдЧрд░рд┐рдПрдХреЛ рдЫреИрдиред рддреНрдпрд╕рдХрд╛рд░рдг, рд╕рд╣реА рд░ рд╕рд╣реА рдЯреНрд░реНрдпрд╛рдХрд┐рдЩрдХреЛ рд▓рд╛рдЧрд┐, рдЕрд╣рд┐рд▓реЗрдХреЛ рд▓рд╛рдЧрд┐ AMI рдЫрдиреМрдЯ рдЧрд░реМрдВ (рддрд░ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд╣реЛрдЗрди)ред рдердк рд░реВрдкрдорд╛ (рд░рд╛рдореНрд░реЛ, рдпреЛ рдмрд┐рдирд╛ рдпреЛ рдХрд╣рд╛рдБ рд╣реБрдиреЗрдЫ, рд╣рд╛рдореА рдЕрд▓реНрдЫреА рдорд╛рдирд┐рд╕рд╣рд░реВ рд╣реМрдВ) - рдореВрд▓ рдХрд╛рдордорд╛ (
рдПрдХреАрдХрд░рдг рдкреБрди: рдЖрд╡рд┐рд╖реНрдХрд╛рд░
рд╣рд╛рдореНрд░реЛ FreePBX рд▓реЗ рдХрд▓рдХреЛ рд╢реБрд░реБрд╡рд╛рдд, рдЕрдиреНрддреНрдп рд╕рдордп, рдирдореНрдмрд░рд╣рд░реВ, рд░реЗрдХрд░реНрдб рдЧрд░рд┐рдПрдХрд╛ рдлрд╛рдЗрд▓рд╣рд░реВрдХреЛ рдирд╛рдорд╣рд░реВ рдмрд╛рд░реЗ рд╕рд░рд▓ рддрд░рд┐рдХрд╛рдорд╛ AMI рд▓рд╛рдИ рд░рд┐рдкреЛрд░реНрдЯ рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрдирдХреЛ рд▓рд╛рдЧрд┐, рдореВрд▓ рд▓реЗрдЦрдХрд╣рд░реВ рдЬрд╕реНрддреИ рдЯреНрд░рд┐рдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХрд▓рдХреЛ рдЕрд╡рдзрд┐ рдЧрдгрдирд╛ рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдЫред - рддрдкрд╛рдИрдВрдХреЛ рдЪрд░ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐рдХреЛ рд▓рд╛рдЧрд┐ рдЖрдЙрдЯрдкреБрдЯ рдкрд╛рд░реНрд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реНред PAMI рд▓реЗ рдлрд┐рд▓реНрдЯрд░ рдкреНрд░рдХрд╛рд░реНрдп рдорд╛рд░реНрдлрдд рдпреЛ рдЧрд░реНрди рд╕реБрдЭрд╛рд╡ рджрд┐рдиреНрдЫред
рдпрд╣рд╛рдБ рдХрд▓ рд╕реБрд░реБ рд╣реБрдиреЗ рд╕рдордпрдХреЛ рд▓рд╛рдЧрд┐ рддрдкрд╛рдИрдВрдХреЛ рдЖрдлреНрдиреИ рдЪрд░ рд╕реЗрдЯ рдЧрд░реНрдиреЗ рдПрдЙрдЯрд╛ рдЙрджрд╛рд╣рд░рдг рдЫ (s рдбрд╛рдпрд▓рдкреНрд▓рд╛рдирдорд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдирдореНрдмрд░ рд╣реЛ рдЬреБрди DID рдЦреЛрдЬ рд╕реБрд░реБ рдЧрд░реНрдиреБ рдЕрдШрд┐ рдкреНрд░рджрд░реНрд╢рди рдЧрд░рд┐рдиреНрдЫ)
[ext-did-custom]
exten => s,1,Set(CallStart=${STRFTIME(epoch,,%s)})
рдпрд╕ рд░реЗрдЦрд╛рдХреЛ рд▓рд╛рдЧрд┐ AMI рдШрдЯрдирд╛рдХреЛ рдЙрджрд╛рд╣рд░рдг
рдХрд╛рд░реНрдпрдХреНрд░рдо: рдирдпрд╛рдБ рдЪреНрдпрд╛рдирд▓
рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░: рдХрд▓, рд╕рдмреИ
рдЪреНрдпрд╛рдирд▓: PJSIP/VMS_pjsip-0000078b
рдЪреНрдпрд╛рдирд▓ рд╕реНрдерд┐рддрд┐: 4
ChannelStateDesc: рдШрдгреНрдЯреА
CallerIDNum: 111222
CallerIDName: 111222
ConnectedLineNum:
рдЬреЛрдбрд┐рдПрдХреЛ рд░реЗрдЦрд╛рдирд╛рдо:
рднрд╛рд╖рд╛: en
рдЦрд╛рддрд╛ рдХреЛрдб:
рд╕рдиреНрджрд░реНрдн: pstn рдмрд╛рдЯ
рд╡рд┐рд╕реНрддрд╛рд░: рдПрд╕
рдкреНрд░рд╛рдердорд┐рдХрддрд╛: рез
рдЕрджреНрд╡рд┐рддреАрдп: 1599589046.5244
Linkedid: 1599589046.5244
рдЖрд╡реЗрджрди: рд╕реЗрдЯ AppData:
рдХрд▓рд╕реНрдЯрд╛рд░реНрдЯ=резрелрепрепрелренрезрежрекрем
рдХрд┐рдирднрдиреЗ FreePBX рд▓реЗ extention.conf рд░ extention_ рдлрд╛рдЗрд▓рд╣рд░реВрд▓рд╛рдИ рдУрднрд░рд░рд╛рдЗрдЯ рдЧрд░реНрдЫextra.conf, рд╣рд╛рдореА рдлрд╛рдЗрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗрдЫреМрдВ рд╡рд┐рд╕реНрддрд╛рд░_рдЕрдиреБрдХреВрд▓рди.conf
extention_custom.conf рдХреЛ рдкреВрд░реНрдг рдХреЛрдб
[globals]
;; ╨Я╤А╨╛╨▓╨╡╤А╤М╤В╨╡ ╨┐╤Г╤В╨╕ ╨╕ ╨┐╤А╨░╨▓╨░ ╨╜╨░ ╨┐╨░╨┐╨║╨╕ - ╤О╨╖╨╡╤А asterisk ╨┤╨╛╨╗╨╢╨╡╨╜ ╨╕╨╝╨╡╤В╤М ╨┐╤А╨░╨▓╨░ ╨╜╨░ ╨╖╨░╨┐╨╕╤Б╤М
;; ╨б╤О╨┤╨░ ╨▒╤Г╨┤╨╡╤В ╨┐╨╕╤Б╨░╤В╤М╤Б╤П ╤А╨░╨╖╨│╨╛╨▓╨╛╤А╤Л
WAV=/var/www/html/callme/records/wav
MP3=/var/www/html/callme/records/mp3
;; ╨Я╨╛ ╤Н╤В╨╕╨╝ ╨┐╤Г╤В╤П╨╝ ╨▒╤Г╨┤╨╡╤В ╨▓╨╛╤Б╨┐╤А╨╛╨╕╨╖╨▓╨╛╨┤╨╕╤В╤Б╤П ╨╕ ╤Б╨║╨░╤З╨╕╨▓╨░╤В╤М╤Б╤П ╨╖╨░╨┐╨╕╤Б╤М
URLRECORDS=https://www.host.ru/callmeplus/records/mp3
;; ╨Р╨┤╤А╨╡╤Б ╨┤╨╗╤П ╨║╨░╨╗╨▒╨╡╨║╨░ ╨┐╤А╨╕ ╨╕╤Б╤Е╨╛╨┤╤П╤Й╨╡╨╝ ╨▓╤Л╨╖╨╛╨▓╨╡
URLPHP=https://www.host.ru/callmeplus
;; ╨Ф╨░ ╨┐╨╕╤И╨╡╨╝ ╤А╨░╨╖╨│╨╛╨▓╨╛╤А╤Л
RECORDING=1
;; ╨н╤В╨╛ ╨╝╨░╨║╤А╨╛╤Б ╨┤╨╗╤П ╨╖╨░╨┐╨╕╤Б╨╕ ╤А╨░╨╖╨│╨╛╨▓╨╛╤А╨╛╨▓ ╨▓ ╨╜╨░╤И╤Г ╨┐╨░╨┐╨║╤Г.
;; ╨Ь╨╛╨╢╨╜╨╛ ╨╕╤Б╨┐╨╛╨╗╤М╨╖╨╛╨▓╨░╤В╤М ╨╕ ╤Б╨╕╤Б╤В╨╡╨╝╨╜╤Г╤О ╨╖╨░╨┐╨╕╤Б╤М, ╨╜╨╛ ╨┐╨╛╨║╨░ ╨┐╤Г╤Б╤В╤М ╨▒╤Г╨┤╨╡╤В ╤Н╤В╨░ -
;; ╨╛╨╜╨░ ╤А╨░╨▒╨╛╤В╨░╨╡╤В
[recording]
exten => ~~s~~,1,Set(LOCAL(calling)=${ARG1})
exten => ~~s~~,2,Set(LOCAL(called)=${ARG2})
exten => ~~s~~,3,GotoIf($["${RECORDING}" = "1"]?4:14)
exten => ~~s~~,4,Set(fname=${UNIQUEID}-${STRFTIME(${EPOCH},,%Y-%m-%d-%H_%M)}-${calling}-${called})
exten => ~~s~~,5,Set(datedir=${STRFTIME(${EPOCH},,%Y/%m/%d)})
exten => ~~s~~,6,System(mkdir -p ${MP3}/${datedir})
exten => ~~s~~,7,System(mkdir -p ${WAV}/${datedir})
exten => ~~s~~,8,Set(monopt=nice -n 19 /usr/bin/lame -b 32 --silent "${WAV}/${datedir}/${fname}.wav" "${MP3}/${datedir}/${fname}.mp3" && rm -f "${WAV}/${fname}.wav" && chmod o+r "${MP3}/${datedir}/${fname}.mp3")
exten => ~~s~~,9,Set(FullFname=${URLRECORDS}/${datedir}/${fname}.mp3)
exten => ~~s~~,10,Set(CDR(filename)=${fname}.mp3)
exten => ~~s~~,11,Set(CDR(recordingfile)=${fname}.wav)
exten => ~~s~~,12,Set(CDR(realdst)=${called})
exten => ~~s~~,13,MixMonitor(${WAV}/${datedir}/${fname}.wav,b,${monopt})
exten => ~~s~~,14,NoOp(Finish if_recording_1)
exten => ~~s~~,15,Return()
;; ╨н╤В╨╛ ╨╛╤Б╨╜╨╛╨▓╨╜╨╛╨╣ ╨║╨╛╨╜╤В╨╡╨║╤Б╤В ╨┤╨╗╤П ╨╜╨░╤З╨░╨╗╨░ ╤А╨░╨╖╨│╨╛╨▓╨╛╤А╨░
[ext-did-custom]
;; ╨н╤В╨╛ ╤Е╤Г╨╗╨╕╨│╨░╨╜╤Б╤В╨▓╨╛, ╨┤╨╡╨╗╨░╤В╤М ╤Н╤В╨╛ ╤В╨░╨║ ╨╕ ╨╖╨┤╨╡╤Б╤М, ╨╜╨╛ ╤А╨░╨▒╨╛╤В╨░╨╡╤В - ╨┤╨╛╨▒╨░╨▓╨╗╤П╨╡╨╝ ╨║ ╨╜╨╛╨╝╨╡╤А╤Г '8'
exten => s,1,Set(CALLERID(num)=8${CALLERID(num)})
;; ╨в╤Г╤В ╨▓╤Б╤П╨║╨╕╨╡ ╨┐╨╡╤А╨╡╨╝╨╡╨╜╨╜╤Л╨╡ ╨┤╨╗╤П ╤Б╨║╤А╨╕╨┐╤В╨░
exten => s,n,Gosub(recording,~~s~~,1(${CALLERID(number)},${EXTEN}))
exten => s,n,ExecIF(${CallMeCallerIDName}?Set(CALLERID(name)=${CallMeCallerIDName}):NoOp())
exten => s,n,Set(CallStart=${STRFTIME(epoch,,%s)})
exten => s,n,Set(CallMeDISPOSITION=${CDR(disposition)})
;; ╨б╨░╨╝╨╛╨╡ ╨│╨╗╨░╨▓╨╜╨╛╨╡! ╨Ю╨▒╤А╨░╨▒╨╛╤В╤З╨╕╨║ ╨╛╨║╨╛╨╜╤З╨░╨╜╨╕╤П ╤А╨░╨╖╨│╨╛╨▓╨╛╤А╨░.
;; ╨Ю╨▒╤Л╤З╨╜╤Л╨╡ ╨┐╤Г╤В╨╕ ╨╛╨▒╤А╨░╨▒╨╛╤В╨║╨╕ ╨║╨╛╨╜╤Ж╨░ ╤З╨╡╤А╨╡╨╖ (exten=>h,1,╤З╤В╨╛╤В╨╛╤В╤Г╤В) ╨▓ FreePBX ╨╜╨╡ ╤А╨░╨▒╨╛╤В╨░╤О╤В - Macro(hangupcall,) ╨▓╤Б╨╡ ╨┐╨╛╤А╤В╨╕╤В.
;; ╨Я╨╛╤Н╤В╨╛╨╝╤Г ╨▓╨╡╤И╨░╨╡╨╝ Hangup_Handler ╨╜╨░ ╨╛╨║╨╛╨╜╤З╨░╨╜╨╕╨╡ ╨╖╨▓╨╛╨╜╨║╨░
exten => s,n,Set(CHANNEL(hangup_handler_push)=sub-call-from-cid-ended,s,1(${CALLERID(num)},${EXTEN}))
;; ╨Ю╨▒╤А╨░╨▒╨╛╤В╤З╨╕╨║ ╨╛╨║╨╛╨╜╤З╨░╨╜╨╕╤П ╨▓╤Е╨╛╨┤╤П╤Й╨╡╨│╨╛ ╨▓╤Л╨╖╨╛╨▓╨░
[sub-call-from-cid-ended]
;; ╨б╨╛╨╛╨▒╤Й╨░╨╡╨╝ ╨╛ ╨╖╨╜╨░╤З╨╡╨╜╨╕╤П╤Е ╨┐╤А╨╕ ╨║╨╛╨╜╤Ж╨╡ ╨╖╨▓╨╛╨╜╨║╨░
exten => s,1,Set(CDR_PROP(disable)=true)
exten => s,n,Set(CallStop=${STRFTIME(epoch,,%s)})
exten => s,n,Set(CallMeDURATION=${MATH(${CallStop}-${CallStart},int)})
;; ╨б╤В╨░╤В╤Г╤Б ╨▓╤Л╨╖╨╛╨▓╨░ - ╨Ю╤В╨▓╨╡╤В, ╨╜╨╡ ╨╛╤В╨▓╨╡╤В...
exten => s,n,Set(CallMeDISPOSITION=${CDR(disposition)})
exten => s,n,Return
;; ╨Ю╨▒╤А╨░╨▒╨╛╤В╤З╨╕╨║ ╨╕╤Б╤Е╨╛╨┤╤П╤Й╨╕╤Е ╨▓╤Л╨╖╨╛╨▓╨╛╨▓ - ╨▓╤Б╨╡ ╨░╨╜╨░╨╗╨╛╨│╨╕╤З╨╡╨╜╨╛
[outbound-allroutes-custom]
;; ╨Ч╨░╨┐╨╕╤Б╤М
exten => _.,1,Gosub(recording,~~s~~,1(${CALLERID(number)},${EXTEN}))
;; ╨Я╨╡╤А╨╡╨╝╨╡╨╜╨╜╤Л╨╡
exten => _.,n,Set(__CallIntNum=${CALLERID(num)})
exten => _.,n,Set(CallExtNum=${EXTEN})
exten => _.,n,Set(CallStart=${STRFTIME(epoch,,%s)})
exten => _.,n,Set(CallmeCALLID=${SIPCALLID})
;; ╨Т╨╡╤И╨░╨╡╨╝ Hangup_Handler ╨╜╨░ ╨╛╨║╨╛╨╜╤З╨░╨╜╨╕╨╡ ╨╖╨▓╨╛╨╜╨║╨░
exten => _.,n,Set(CHANNEL(hangup_handler_push)=sub-call-internal-ended,s,1(${CALLERID(num)},${EXTEN}))
;; ╨Ю╨▒╤А╨░╨▒╨╛╤В╤З╨╕╨║ ╨╛╨║╨╛╨╜╤З╨░╨╜╨╕╤П ╨╕╤Б╤Е╨╛╨┤╤П╤Й╨╡╨│╨╛ ╨▓╤Л╨╖╨╛╨▓╨░
[sub-call-internal-ended]
;; ╨┐╨╡╤А╨╡╨╝╨╡╨╜╨╜╤Л╨╡
exten => s,1,Set(CDR_PROP(disable)=true)
exten => s,n,Set(CallStop=${STRFTIME(epoch,,%s)})
exten => s,n,Set(CallMeDURATION=${MATH(${CallStop}-${CallStart},int)})
exten => s,n,Set(CallMeDISPOSITION=${CDR(disposition)})
;; ╨Т╤Л╨╖╨╛╨▓ ╤Б╨║╤А╨╕╨┐╤В╨░, ╨║╨╛╤В╨╛╤А╤Л╨╣ ╤Б╨╛╨╛╨▒╤Й╨╕╤В ╨╛ ╨╖╨▓╨╛╨╜╨║╨╡ ╨▓ CRM - ╤Н╤В╨╛ ╨╕╤Б╤Е╨╛╨┤╤П╤Й╨╕╨╣,
;; ╤В╨░╨║ ╤З╤В╨╛ ╨┐╨╛ ╤Д╨░╨║╤В╤Г ╨╛╨║╨╛╨╜╤З╨░╨╜╨╕╤П
exten => s,n,System(curl -s ${URLPHP}/CallMeOut.php --data action=sendcall2b24 --data ExtNum=${CallExtNum} --data call_id=${SIPCALLID} --data-urlencode FullFname='${FullFname}' --data CallIntNum=${CallIntNum} --data CallDuration=${CallMeDURATION} --data-urlencode CallDisposition='${CallMeDISPOSITION}')
exten => s,n,Return
рдореВрд▓ рд▓реЗрдЦрдХрд╛ рд▓реЗрдЦрдХрд╣рд░реВрдХреЛ рдореВрд▓ рдбрд╛рдпрд▓рдкреНрд▓рд╛рдирдмрд╛рдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ рд░ рднрд┐рдиреНрдирддрд╛ -
-
.conf рдврд╛рдБрдЪрд╛рдорд╛ рдбрд╛рдпрд▓рдкреНрд▓рд╛рди рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдЬрд╕рд░реА FreePBX рд▓реЗ рдпреЛ рдЪрд╛рд╣рдиреНрдЫ (рд╣реЛ, рдпрд╕рд▓реЗ .ael рдЧрд░реНрди рд╕рдХреНрдЫ, рддрд░ рд╕рдмреИ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ рд╣реЛрдЗрди рд░ рдпреЛ рд╕рдзреИрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реБрдБрджреИрди)
-
рдЕрдиреНрддреНрдпрд▓рд╛рдИ exten=>h рдорд╛рд░реНрдлрдд рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛, hangup_handler рдорд╛рд░реНрдлрдд рдкреНрд░рд╢реЛрдзрди рд╕реБрд░реБ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, рдХрд┐рдирднрдиреЗ FreePBX рдбрд╛рдпрд▓рдкреНрд▓рд╛рдирд▓реЗ рдпрд╕рдХреЛ рд╕рд╛рде рдорд╛рддреНрд░ рдХрд╛рдо рдЧрд░реНтАНрдпреЛред
-
рдлрд┐рдХреНрд╕реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд▓ рд╕реНрдЯреНрд░рд┐рдЩ, рдердкрд┐рдПрдХреЛ рдЙрджреНрдзрд░рдг рд░ рдмрд╛рд╣реНрдп рдХрд▓ рдирдореНрдмрд░ ExtNum
-
рдкреНрд░рд╢реЛрдзрдирд▓рд╛рдИ _custom рд╕рдиреНрджрд░реНрднрд╣рд░реВрдорд╛ рд╕рд╛рд░рд┐рдПрдХреЛ рдЫ рд░ рддрдкрд╛рдИрдВрд▓рд╛рдИ FreePBX рдХрдиреНрдлрд┐рдЧрд╣рд░реВ рдЫреБрди рд╡рд╛ рд╕рдореНрдкрд╛рджрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ - рдорд╛рд░реНрдлрдд рдЖрдЧрдорди [ext-did-custom], рдмрд╛рд╣рд┐рд░ рдЬрд╛рдиреЗ [рдЖрдЙрдЯрдмрд╛рдЙрдиреНрдб-рд╕рдмреИ рдорд╛рд░реНрдЧ-рдЕрдиреБрдХреВрд▓]
-
рдирдореНрдмрд░рд╣рд░реВрдорд╛ рдХреБрдиреИ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдЫреИрди - рдлрд╛рдЗрд▓ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдЫ рд░ рдХреЗрд╡рд▓ рдорд╛рд░реНрдЧ рд░ рд╕рд░реНрднрд░рдорд╛ рд▓рд┐рдЩреНрдХрдХреЛ рд▓рд╛рдЧрд┐ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред
рд╕реБрд░реБ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рд▓рдЧрдЗрди рд░ рдкрд╛рд╕рд╡рд░реНрдбрджреНрд╡рд╛рд░рд╛ AMI рдорд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рдЪрд▓рд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫ - рдпрд╕рдХрд╛ рд▓рд╛рдЧрд┐, FreePBX рд╕рдБрдЧ _custom рдлрд╛рдЗрд▓ рдкрдирд┐ рдЫред
manager_custom.conf рдлрд╛рдЗрд▓
;; ╤Н╤В╨╛ ╨╗╨╛╨│╨╕╨╜
[callmeplus]
;; ╤Н╤В╨╛ ╨┐╨░╤А╨╛╨╗╤М
secret = trampampamturlala
deny = 0.0.0.0/0.0.0.0
;; ╤П ╤А╨░╨▒╨╛╤В╨░╤О ╤Б ╨╗╨╛╨║╨░╨╗╤М╨╜╨╛╨╣ ╨╝╨░╤И╨╕╨╜╨╛╨╣ - ╨╜╨╛ ╨╡╤Б╨╗╨╕ ╨╜╨░╨┤╨╛, ╨╝╨╛╨╢╨╜╨╛ ╨╕ ╨┤╤А╤Г╨│╨╕╨╡ ╨┐╤А╨╛╨┐╨╕╤Б╨░╤В╤М
permit = 127.0.0.1/255.255.255.255
read = system,call,log,verbose,agent,user,config,dtmf,reporting,cdr,dialplan
write = system,call,agent,log,verbose,user,config,command,reporting,originate
рдпреА рджреБрдмреИ рдлрд╛рдЗрд▓рд╣рд░реВ /etc/asterisk рдорд╛ рд░рд╛рдЦрд┐рдПрдХреЛ рд╣реБрдиреБрдкрд░реНрдЫ, рддреНрдпрд╕рдкрдЫрд┐ рдХрдиреНрдлрд┐рдЧрд╣рд░реВ рдкреБрди: рдкрдвреНрдиреБрд╣реЛрд╕реН (рд╡рд╛ рддрд╛рд░рд╛рдВрдХрди рдкреБрди: рд╕реБрд░реБ рдЧрд░реНрдиреБрд╣реЛрд╕реН)
# astrisk -rv
Connected to Asterisk 16.6.2 currently running on freepbx (pid = 31629)
#freepbx*CLI> dialplan reload
Dialplan reloaded.
#freepbx*CLI> exit
рдЕрдм PHP рдорд╛ рдЬрд╛рдФрдВ
рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рдкреНрд░рд╛рд░рдореНрдн рдЧрд░реНрджреИ рд░ рд╕реЗрд╡рд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджреИ
Bitrix 24 рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рдпреЛрдЬрдирд╛, AMI рдХреЛ рд▓рд╛рдЧреА рдПрдХ рд╕реЗрд╡рд╛, рдкреВрд░реНрдгрддрдпрд╛ рд╕рд░рд▓ рд░ рдкрд╛рд░рджрд░реНрд╢реА рдирднрдПрдХреЛрд▓реЗ, рдпрд╕рд▓рд╛рдИ рдЫреБрдЯреНрдЯреИ рдЫрд▓рдлрд▓ рдЧрд░реНрдиреБрдкрд░реНрдЫред Asterisk, рдЬрдм AMI рд╕рдХреНрд░рд┐рдп рд╣реБрдиреНрдЫ, рдХреЗрд╡рд▓ рдкреЛрд░реНрдЯ рдЦреЛрд▓реНрдЫ рд░ рдпреЛ рд╣реЛред рдЬрдм рдПрдХ рдЧреНрд░рд╛рд╣рдХ рд╕рд╛рдореЗрд▓ рд╣реБрдиреНрдЫ, рдпрд╕рд▓реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЕрдиреБрд░реЛрдз рдЧрд░реНрджрдЫ, рддреНрдпрд╕рдкрдЫрд┐ рдЧреНрд░рд╛рд╣рдХрд▓реЗ рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдирд╛рд╣рд░реВрдХреЛ рд╕рджрд╕реНрдпрддрд╛ рд▓рд┐рдиреНрдЫред рдШрдЯрдирд╛рд╣рд░реВ рд╕рд╛рджрд╛ рдкрд╛рдардорд╛ рдЖрдЙрдБрдЫрдиреН, рдЬрд╕рд▓рд╛рдИ PAMI рд▓реЗ рд╕рдВрд░рдЪрд┐рдд рд╡рд╕реНрддреБрд╣рд░реВрдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдЫ рд░ рд░реБрдЪрд┐, рдХреНрд╖реЗрддреНрд░рд╣рд░реВ, рд╕рдЩреНрдЦреНрдпрд╛рд╣рд░реВ, рдЖрджрд┐рдХрд╛ рдШрдЯрдирд╛рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ рдлрд┐рд▓реНрдЯрд░рд┐рдЩ рдкреНрд░рдХрд╛рд░реНрдп рд╕реЗрдЯ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред
рдХрд▓ рдЖрдЙрдиреЗ рдмрд┐рддреНрддрд┐рдХреИ, NewExten рдШрдЯрдирд╛ рдЕрднрд┐рднрд╛рд╡рдХ [from-pstn] рд╕рдиреНрджрд░реНрднрдмрд╛рдЯ рд╕реБрд░реБ рд╣реБрдиреНрдЫ, рддреНрдпрд╕рдкрдЫрд┐ рд╕рдмреИ рдШрдЯрдирд╛рд╣рд░реВ рд╕рдиреНрджрд░реНрднрд╣рд░реВрдорд╛ рд▓рд╛рдЗрдирд╣рд░реВрдХреЛ рдХреНрд░рдордорд╛ рдЬрд╛рдиреНрдЫрдиреНред рдЬрдм _custom dialplan рдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ CallMeCallerIDName рд░ CallStart рдЪрд░рд╣рд░реВрдмрд╛рдЯ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рд╣реБрдиреНрдЫ,
-
рдХрд▓ рдЖрдПрдХреЛ рдПрдХреНрд╕рдЯреЗрдиреНрд╕рди рдирдореНрдмрд░рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд UserID рдЕрдиреБрд░реЛрдз рдЧрд░реНрдиреЗ рдХрд╛рд░реНрдпред рдХреЗ рд╣реБрдиреНрдЫ рдпрджрд┐ рдпреЛ рдПрдХ рдбрд╛рдпрд▓-рдЕрдк рд╕рдореВрд╣ рд╣реЛ? рдкреНрд░рд╢реНрди рд░рд╛рдЬрдиреАрддрд┐рдХ рд╣реЛ, рдХреЗ рддрдкрд╛рдИрдВрд▓реЗ рдПрдХреИрдЪреЛрдЯрд┐ рд╕рдмреИрд▓рд╛рдИ рдХрд▓ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ (рдЬрдм рд╕рдмреИрд▓реЗ рдПрдХреИ рдкрдЯрдХ рдХрд▓ рдЧрд░реНрдЫрдиреН) рд╡рд╛ рдкрд╛рд▓реИрдкрд╛рд▓реЛ рдХрд▓ рдЧрд░реНрджрд╛ рдЙрдиреАрд╣рд░реВрд▓реЗ рдХрд▓ рдЧрд░реЗрдЬрд╕реНрддреИ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ? рдзреЗрд░реИ рдЧреНрд░рд╛рд╣рдХрд╣рд░реВрд╕рдБрдЧ Fisrt рдЙрдкрд▓рдмреНрдз рд░рдгрдиреАрддрд┐ рдЫ, рддреНрдпрд╕реИрд▓реЗ рдпрд╕рдорд╛ рдХреБрдиреИ рд╕рдорд╕реНрдпрд╛ рдЫреИрди, рдХреЗрд╡рд▓ рдПрдХ рдХрд▓ред рддрд░ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред
-
Bitrix24 рдорд╛ рдХрд▓ рджрд░реНрддрд╛ рдкреНрд░рдХрд╛рд░реНрдп, рдЬрд╕рд▓реЗ CallID рдлрд┐рд░реНрддрд╛ рдЧрд░реНрдЫ, рдЬреБрди рддреНрдпрд╕рдкрдЫрд┐ рдХрд▓ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рд░ рд░реЗрдХрд░реНрдбрд┐рдЩрдХреЛ рд▓рд┐рдЩреНрдХ рд░рд┐рдкреЛрд░реНрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдпрд╛ рдд рд╡рд┐рд╕реНрддрд╛рд░ рдирдореНрдмрд░ рд╡рд╛ UserID рдЖрд╡рд╢реНрдпрдХ рдЫ
рдХрд▓ рд╕рдорд╛рдкреНрдд рднрдПрдкрдЫрд┐, рд░реЗрдХрд░реНрдб рдбрд╛рдЙрдирд▓реЛрдб рдкреНрд░рдХрд╛рд░реНрдп рднрдирд┐рдиреНрдЫ, рдЬрд╕рд▓реЗ рдПрдХреИ рд╕рд╛рде рдХрд▓ рдкреВрд░рд╛ рднрдПрдХреЛ рд╕реНрдерд┐рддрд┐ рд░рд┐рдкреЛрд░реНрдЯ рдЧрд░реНрджрдЫ (рд╡реНрдпрд╕реНрдд, рдХреБрдиреИ рдЬрд╡рд╛рдл рдЫреИрди, рд╕рдлрд▓рддрд╛), рд░ рд░реЗрдХрд░реНрдбрдХреЛ рд╕рд╛рде mp3 рдлрд╛рдЗрд▓рдХреЛ рд▓рд┐рдЩреНрдХ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрджрдЫ (рдпрджрд┐ рдХреБрдиреИ рд╣реЛ)ред
рдХрд┐рдирднрдиреЗ CallMeIn.php рдореЛрдбреНрдпреБрд▓ рдирд┐рд░рдиреНрддрд░ рдЪрд▓реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ SystemD рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдлрд╛рдЗрд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫред callme.service, рдЬреБрди /etc/systemd/system/callme.service рдорд╛ рд░рд╛рдЦреНрдиреБ рдкрд░реНрдЫ
[Unit]
Description=CallMe
[Service]
WorkingDirectory=/var/www/html/callmeplus
ExecStart=/usr/bin/php /var/www/html/callmeplus/CallMeIn.php 2>&1 >>/var/log/callmeplus.log
ExecStop=/bin/kill -WINCH ${MAINPID}
KillSignal=SIGKILL
Restart=on-failure
RestartSec=10s
#╤В╤Г╤В ╨╜╨░╨┤╨╛ ╤Б╨╝╨╛╤В╤А╨╡╤В╤М,╨║╨░╨║╨╕╨╡ ╨┐╤А╨░╨▓╨░ ╨╜╨░ ╨┐╨░╨┐╨║╨╕
#User=www-data #Ubuntu - debian
#User=nginx #Centos
[Install]
WantedBy=multi-user.target
рд╕реНрдХреНрд░рд┐рдкреНрдЯрдХреЛ рд╕реБрд░реБрд╡рд╛рдд рд░ рд╕реБрд░реБрд╡рд╛рдд systemctl рд╡рд╛ рд╕реЗрд╡рд╛ рдорд╛рд░реНрдлрдд рд╣реБрдиреНрдЫ
# systemctl enable callme
# systemctl start callme
рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрдиреБрд╕рд╛рд░ рд╕реЗрд╡рд╛ рдЖрдлреИ рдкреБрди: рд╕реБрд░реБ рд╣реБрдиреЗрдЫ (рдХреНрд░реНрдпрд╛рд╕рдХреЛ рдЕрд╡рд╕реНрдерд╛рдорд╛)ред рдЗрдирдмрдХреНрд╕ рдЯреНрд░реНрдпрд╛рдХрд┐рдЩ рд╕реЗрд╡рд╛рд▓рд╛рдИ рд╡реЗрдм рд╕рд░реНрднрд░ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрджреИрди, рдХреЗрд╡рд▓ php рдЖрд╡рд╢реНрдпрдХ рдЫ (рдЬреБрди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдкрдорд╛ FeePBX рд╕рд░реНрднрд░рдорд╛ рдЫ)ред рддрд░ рд╡реЗрдм рд╕рд░реНрднрд░ (https рд╕рд╣рд┐рдд) рдорд╛рд░реНрдлрдд рдХрд▓ рд░реЗрдХрд░реНрдбрд╣рд░реВрдорд╛ рдкрд╣реБрдБрдЪрдХреЛ рдЕрднрд╛рд╡рдорд╛, рдХрд▓ рд░реЗрдХрд░реНрдбрд╣рд░реВ рд╕реБрдиреНрди рд╕рдореНрднрд╡ рд╣реБрдиреЗрдЫреИрдиред
рдЕрдм рдмрд╣рд┐рд░реНрдЧрдорди рдХрд▓рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реМрдВред CallMeOut.php рд▓рд┐рдкрд┐рдорд╛ рджреБрдИ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдЫрдиреН:
-
php рд╕реНрдХреНрд░рд┐рдкреНрдЯрдХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рд╣реБрдБрджрд╛ рдХрд▓рдХреЛ рдкреНрд░рд╛рд░рдореНрдн (Bitrix рдорд╛ "рдХрд▓" тАЛтАЛрдмрдЯрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд╕рд╣рд┐рдд)ред рдпрд╕рд▓реЗ рд╡реЗрдм рд╕рд░реНрднрд░ рдмрд┐рдирд╛ рдХрд╛рдо рдЧрд░реНрджреИрди, рдЕрдиреБрд░реЛрдз HTTP POST рдорд╛рд░реНрдлрдд рдкреНрд░рд╛рдкреНрдд рд╣реБрдиреНрдЫ, рдЕрдиреБрд░реЛрдзрдорд╛ рдЯреЛрдХрди рд╕рдорд╛рд╡реЗрд╢ рдЫ
-
Bitrix рдорд╛ рдХрд▓, рдпрд╕рдХреЛ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рд░ рд░реЗрдХрд░реНрдб рдмрд╛рд░реЗ рд╕рдиреНрджреЗрд╢ред Asterisk рджреНрд╡рд╛рд░рд╛ [sub-cal-internal-ended] рдбрд╛рдпрд▓рдкреНрд▓рд╛рдирдорд╛ рдЬрдм рдХрд▓ рд╕рдорд╛рдкреНрдд рд╣реБрдиреНрдЫ
рд╡реЗрдм рд╕рд░реНрднрд░ рдХреЗрд╡рд▓ рджреБрдИ рдЪреАрдЬрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЖрд╡рд╢реНрдпрдХ рдЫ - Bitrix рд░реЗрдХрд░реНрдб рдлрд╛рдЗрд▓рд╣рд░реВ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрди (HTTPS рдорд╛рд░реНрдлрдд) рд░ CallMeOut.php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд▓ рдЧрд░реНрджреИред рддрдкрд╛рдЗрдБ рдирд┐рд░реНрдорд┐рдд FreePBX рд╕рд░реНрднрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдлрд╛рдЗрд▓рд╣рд░реВ рдЬрд╕рдХреЛ рд▓рд╛рдЧрд┐ /var/www/html, рддрдкрд╛рдЗрдБ рдЕрд░реНрдХреЛ рд╕рд░реНрднрд░ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рд╡рд╛ рдлрд░рдХ рдорд╛рд░реНрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
рд╡реЗрдм рд╕рд░реНрднрд░
рд╕реНрд╡рддрдиреНрддреНрд░ рдЕрдзреНрдпрдпрдирдХреЛ рд▓рд╛рдЧрд┐ рд╡реЗрдм рд╕рд░реНрднрд░ рд╕реЗрдЯрдЕрдк рдЫреЛрдбреМрдВ (
рд╕реНрдерд╛рдкрдирд╛ рд╕реНрд╡рдЪрд╛рд▓рди
рд╕реНрдерд╛рдкрдирд╛ рдЕрдЭ рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрди github рдорд╛ рдПрдХ рд╕реНрдерд╛рдкрдирд╛рдХрд░реНрддрд╛ рд╡рд┐рдХрд╕рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫред рддрд░ рдпреЛ рдХрд╛рдЧрдЬрдорд╛ рдЪрд┐рдХрдиреА рдерд┐рдпреЛ - рдЬрдм рд╣рд╛рдореА рдпреЛ рд╕рдмреИ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрджреИрдЫреМрдВ, рдХрд┐рдирдХрд┐ рдпреА рд╕рдмреИрд╕рдБрдЧ рдЯрд┐рдВрдХрд░ рдЧрд░реЗрдкрдЫрд┐ рдпреЛ рдХреНрд░рд┐рд╕реНрдЯрд▓ рд╕реНрдкрд╖реНрдЯ рднрдпреЛ рдХрд┐ рдХреЛрд╕рдБрдЧ рд╕рд╛рдереАрд╣рд░реВ рдЫрдиреН, рдХреЛ рдХрд╣рд╛рдБ рдЬрд╛рдиреНрдЫ рд░ рдХрд╕рд░реА рдбрд┐рдмрдЧ рдЧрд░реНрдиреЗред рдЕрд╣рд┐рд▓реЗрд╕рдореНрдо рдХреБрдиреИ рд╕реНрдерд╛рдкрдирд╛рдХрд░реНрддрд╛ рдЫреИрди
рдбрдХрд░
рдпрджрд┐ рддрдкрд╛рдЗрдБ рдЪрд╛рдБрдбреИ рд╕рдорд╛рдзрд╛рди рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ - рддреНрдпрд╣рд╛рдБ рдбрдХрд░рд╕рдБрдЧ рд╡рд┐рдХрд▓реНрдк рдЫ - рджреНрд░реБрдд рд░реВрдкрдорд╛ рдХрдиреНрдЯреЗрдирд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдпрд╕рд▓рд╛рдИ рдмрд╛рд╣рд┐рд░ рдкреЛрд░реНрдЯрд╣рд░реВ рджрд┐рдиреБрд╣реЛрд╕реН, рд╕реЗрдЯрд┐рдЩ рдлрд╛рдЗрд▓рд╣рд░реВ рд╕реНрд▓рд┐рдк рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реН (рдпреЛ LetsEncrypt рдХрдиреНрдЯреЗрдирд░рдХреЛ рд╕рд╛рде рд╡рд┐рдХрд▓реНрдк рд╣реЛ, рдпрджрд┐ рддрдкрд╛рдЗрдБрд╕рдБрдЧ рдкрд╣рд┐рд▓реЗ рдиреИ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЫ рднрдиреЗред , рддрдкрд╛рдИрдВрд▓реЗ рднрд░реНрдЦрд░реИ рд░рд┐рднрд░реНрд╕ рдкреНрд░реЛрдХреНрд╕реАрд▓рд╛рдИ FreePBX рд╡реЗрдм рд╕рд░реНрднрд░рдорд╛ рд░рд┐рдбрд┐рд░реЗрдХреНрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ (рд╣рд╛рдореАрд▓реЗ рдпрд╕рд▓рд╛рдИ рдЕрд░реНрдХреЛ рдкреЛрд░реНрдЯ рджрд┐рдпреМрдВ 88), LetsEncrypt in docker рдЖрдзрд╛рд░рд┐рдд
рддрдкрд╛рдИрдВрд▓реЗ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░рд┐рдПрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлреЛрд▓реНрдбрд░рдорд╛ рдлрд╛рдЗрд▓ рдЪрд▓рд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫ (рдЧрд┐рдЯ рдХреНрд▓реЛрди рдкрдЫрд┐), рддрд░ рдкрд╣рд┐рд▓реЗ рдПрд╕реНрдЯреЗрд░рд┐рд╕реНрдХ рдХрдиреНрдлрд┐рдЧрд╣рд░реВ (рдПрд╕реНрдЯреЗрд░рд┐рд╕реНрдХ рдлреЛрд▓реНрдбрд░) рдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН рд░ рд░реЗрдХрд░реНрдбрд╣рд░реВрдорд╛ рдкрдерд╣рд░реВ рд░ рддреНрдпрд╣рд╛рдБ рддрдкрд╛рдИрдВрдХреЛ рд╕рд╛рдЗрдЯрдХреЛ URL рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реНред
version: '3.3'
services:
nginx:
image: nginx:1.15-alpine
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx/ssl_docker.conf:/etc/nginx/conf.d/ssl_docker.conf
certbot:
image: certbot/certbot
freepbx:
image: flaviostutz/freepbx
ports:
- 88:80 # ╨┤╨╗╤П ╨╜╨░╤Б╤В╤А╨╛╨╣╨║╨╕
- 5060:5060/udp
- 5160:5160/udp
- 127.0.0.1:5038:5038 # ╨┤╨╗╤П CallMeOut.php
# - 3306:3306
- 18000-18100:18000-18100/udp
restart: always
environment:
- ADMIN_PASSWORD=admin123
volumes:
- backup:/backup
- recordings:/var/spool/asterisk/monitor
- ./callme:/var/www/html/callme
- ./systemd/callme.service:/etc/systemd/system/callme.conf
- ./asterisk/manager_custom.conf:/etc/asterisk/manager_custom.conf
- ./asterisk/extensions_custom.conf:/etc/asterisk/extensions_custom.conf
# - ./conf/startup.sh:/startup.sh
volumes:
backup:
recordings:
рдпреЛ docker-compose.yaml рдлрд╛рдЗрд▓ рдорд╛рд░реНрдлрдд рдЪрд▓рд╛рдЗрдПрдХреЛ рдЫ
docker-compose up -d
рдпрджрд┐ nginx рд╕реБрд░реБ рднрдПрди рднрдиреЗ, nginx/ssl_docker.conf рдлреЛрд▓реНрдбрд░рдорд╛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛ рдХреЗрд╣рд┐ рдЧрд▓рдд рдЫред
рдЕрдиреНрдп рдПрдХреАрдХрд░рдг
рд░ рдХрд┐рди рдПрдХреИ рд╕рдордпрдорд╛ рдХреЗрд╣рд┐ CRM рд▓рд╛рдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдорд╛ рд░рд╛рдЦреНрдиреБ рд╣реБрдБрджреИрди, рд╣рд╛рдореАрд▓реЗ рд╕реЛрдЪреНрдпреМрдВред рд╣рд╛рдореАрд▓реЗ рдзреЗрд░реИ рдЕрдиреНрдп CRM API рд╣рд░реВ рдЕрдзреНрдпрдпрди рдЧрд░реНрдпреМрдВ, рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рдирд┐: рд╢реБрд▓реНрдХ рдирд┐рд░реНрдорд┐рдд PBX - ShugarCRM рд░ Vtiger, рд░ рд╣реЛ! рд╣реЛ, рд╕рд┐рджреНрдзрд╛рдиреНрдд рдПрдЙрдЯреИ рдЫред рддрд░ рдпреЛ рдЕрд░реНрдХреЛ рдХрдерд╛ рд╣реЛ, рдЬреБрди рд╣рд╛рдореА рдкрдЫрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЧрд┐рдердмрдорд╛ рдЕрдкрд▓реЛрдб рдЧрд░реНрдиреЗрдЫреМрдВред
рд╕рдиреНрджрд░реНрдн
-
рдХреЛрдб рдЖрдлреИрдВ github рдорд╛ рдЫ -
https://github.com/CrezZ/bitrix24-freepbx-php -
рдмреАрдЬрдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрд░реЛрдд рд▓реЗрдЦ
https://habr.com/ru/post/349316/
рдЕрд╕реНрд╡реАрдХрд░рдг: рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛рд╕рдБрдЧ рдХреБрдиреИ рдкрдирд┐ рд╕рдорд╛рдирддрд╛ рдХрд╛рд▓реНрдкрдирд┐рдХ рд╣реЛ рд░ рдпреЛ рдо рдерд┐рдЗрдирдБред
рд╕реНрд░реЛрдд: www.habr.com