рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ рдпрд╛ рдореИрдВрдиреЗ рдХреИрд╕реЗ 7 рд╕рд╛рд▓ рдкреАрдмреАрдПрдХреНрд╕ рдХреЛ рддрд╛рд░рд╛рдВрдХрди рдФрд░ рдкреАрдПрдЪрдкреА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдмрдирд╛рдпрд╛

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдк рдореЗрдВ рд╕реЗ рдХрдИ, рдореЗрд░реА рддрд░рд╣, рдХреБрдЫ рдЕрдиреЛрдЦрд╛ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд░рдЦрддреЗ рдереЗред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЙрди рддрдХрдиреАрдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдБрдЧрд╛, рдЬрд┐рдиреНрд╣реЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЯреЗрд▓реАрдлреЛрди рдПрдХреНрд╕рдЪреЗрдВрдЬреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдерд╛ред рд╢рд╛рдпрдж рдпрд╣ рдХрд┐рд╕реА рдХреЛ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛, рдФрд░ рдХрд┐рд╕реА рдХреЛ рдкреАрдЯрд╛ рдорд╛рд░реНрдЧ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рднреА рдЕрдЧреНрд░рджреВрддреЛрдВ рдХреЗ рдЕрдиреБрднрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред


рдЫрд╡рд┐


рдЖрдЗрдбрд┐рдпрд╛ рдФрд░ рдореБрдЦреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ


Asterisk (framework ), FreePBX ( Asterisk). FreePBX тАУ . , , .


. Asterisk , -, . , . , , FreePBX. FreePBX php4, php5.6  .


. FreePBX, , - .


:


  • , . ,
  • , ,
  • . FreePBX API , .. , , , API Asterisk,
  • opensource тАУ .

, . , . , FreePBX , . , . .


, тАФ . , , , , . , - , ┬л ┬╗ , .



. , , , , -.


рдЫрд╡рд┐
, , Asterisk.


рдЫрд╡рд┐


, :


  • , , ,
  • - ( ),
  • ,
  • , .

, :


......
class CPBX_MYIVR extends CPBX_IVR
{
 function __construct()
 {
 parent::__construct();
 $this->_module = "myivr";
 }
}
.....
$myIvrModule = new CPBX_MYIVR();
CPBXEngine::getInstance()->registerModule($myIvrModule,__DIR__); //  
CPBXEngine::getInstance()->registerModuleExtension($myIvrModule,'ivr',__DIR__); //  

. , , FreePBX. , . , .


API тАФ , . , FreePBX, Apply .


:


рдЫрд╡рд┐
* тАФ (), .


API . -, Asterisk .
-, , .. .
-, .


, Askozia, , . .


.


Asterisk, . Asterisk , , REALTIME_HASH.


Asterisk Asterisk.


рдЫрд╡рд┐


тАУ hints.


exten=>101,1,GoSub(тАШsub-callusersтАЩ,s,1(1)); -  , /  ami

; sub-callusers тАУ      .
[sub-callusers]
exten =>s,1,Noop()
exten =>s,n,Set(LOCAL(TOUSERID)=${ARG1})
exten =>s,n,ClearHash(TOUSERPARAM)
exten =>s,n,Set(HASH(TOUSERPARAM)=${REALTIME_HASH(rl_users,id,${LOCAL(TOUSERID)})})
exten =>s,n,GotoIf($["${HASH(TOUSERPARAM,id)}"=""]?return)
...

Ami ( Asterisk) .


API . , , тАЬdialtimeтАЭ ( , .. API Ami ).


. , . , , , . , -, API . , - ┬л ┬╗, .


. php Asterisk , Asterisk .


:


$usersInitSection = $dialplan->createExtSection('usersinit-sub','s');
$usersInitSection
 ->add('',new \Dialplan\ext_gotoif('$["${G_USERINIT}"="1"]','exit'))
 ->add('',new \Dialplan\ext_set('G_USERINIT','1'))
 ->add('',new \Dialplan\ext_gosub('1','s','sub-AddOnAnswerSub','usersconnected-sub'))
 ->add('',new \Dialplan\ext_gosub('1','s','sub-AddOnPredoDialSub','usersinitondial-sub'))
 ->add('',new \Dialplan\ext_set('LOCAL(TECH)','${CUT(CHANNEL(name),/,1)}'))
 ->add('',new \Dialplan\ext_gotoif('$["${LOCAL(TECH)}"="SIP"]','sipdev'))
 ->add('',new \Dialplan\ext_gotoif('$["${LOCAL(TECH)}"="PJSIP"]','pjsipdev'))

, . , .



Asterisk php, FastAGI php. FastAGI Asterisk, , . . Asterisk , php.


. , /. , 1,5 , , .


1 php Pthreads. - . php , - , php, php .


тАШтАЩ, PHPLIB. php , , , тАУ . FastAGI , php .


Asterisk 1,5 0,05 .


рдЫрд╡рд┐


, , c php. -, php , -, -, тАУ - php.


dialplanDynamicCall pbxCallRequest Asterisk.


рдЫрд╡рд┐


( php xdebug ), .



. тАУ . = : , , . , . .


:


  • , , .. ,
  • . FreePBX , , . , 0-1 . , ( . ┬л┬╗, ┬л ┬╗),
  • , , .

, .


:


( тАФ ).


рдЫрд╡рд┐


  1. ┬л ┬╗ 05:55:52 89295671458 89999999999, ┬л2┬╗ 104. 60 36 .
  2. ┬л2┬╗ 112 ┬л1┬╗ 8 . 14 .
  3. ┬л1┬╗ 13

, .


рдЫрд╡рд┐


:


  1. ┬л ┬╗ 05:55:52 89295671458 89999999999.
  2. 05:55:53 ┬лtest┬╗
  3. ┬л ┬╗, 16 . .
  4. ┬л ┬╗ () ┬л1┬╗ 5 . .
  5. ┬л ┬╗ ┬л ┬╗. ( ) 11 .
  6. ┬л ┬╗ ┬л1, 2, 3┬╗ 11 . .
  7. . ┬л 1┬╗. . 0 .
  8. ┬л ┬╗. 31 , .
  9. ┬л┬╗, 12 .
  10. 2 ┬л1┬╗ ┬л2┬╗ 12 ┬л2┬╗. . ┬л2┬╗, ┬л2┬╗ ┬л2┬╗.

. , . , , , , - , .


, . , , .


, , , , .


?


, тАУ .


php, .. sip , , . Asterisk. ( - ) . Asterisk , - . , , , .


:


  • ,
  • -,
  • , ,
  • .

API. , , API . API , , . API .


(/), (, , , , ). тАУ .


рдЖрдЧреЗ рдЬреЛ рд╣реЛрдЧрд╛ рд╡рд╣ рд╕рдордп рджрд┐рдЦрд╛рдПрдЧрд╛ред рдХрдИ рдФрд░ рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рдлрд┐рд░ рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИрдВ, рдХрдИ рдФрд░ рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рд╣реА рддреАрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж рд╕реЗ рдмреАрдд рдЪреБрдХрд╛ рд╣реИ рдФрд░ рд╣рдо рдкрд╣рд▓реЗ рд╣реА рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд┐рдЪрд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рддреАрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдореБрдЦреНрдп рдЛрдг рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рдВрд╕рд╛рдзрди рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рдХрд╛рд╕ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рд╣рдореЗрд╢рд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЖрдкрдХреЛ рднреБрдЧрддрд╛рди рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред


All Articles