Habrã®èªè
ã®å€ãã¯ããã³ãŽãŒããªã¯ãã«ããªã¯ãã¬ã€ã³ãªã©ãã¯ã©ãŠãå
ã®ææ°ã®IP PBXã«ç²ŸéããŠããŸãã ãããã¯ãã¹ãŠãããŸããŸãªé¡§å®¢ãæºè¶³ãããèŠä»¶ãæºããããã«ããŸããŸãªæ©èœãšæéãã©ã³ãæäŸããŠããŸããããšã«ããã¢ã¹ã¿ãªã¹ã¯ãéžæãã人ã¯åžžã«å€ãããŸãããªããªããã¢ã¹ã¿ãªã¹ã¯ãšã¯å¥ã«ãæäŸã§ããã·ã¹ãã ãã»ãšãã©ãªãã«ã¹ã¿ãã€ãºããã³çµ±åæ©èœãå¿
èŠã ããã§ãã ã¢ã¹ã¿ãªã¹ã¯èªäœã«å ããŠããã¹ãŠãæ§æããŠãµããŒãã§ãã人ãSIPãŸãã¯VoIPã²ãŒããŠã§ã€ãä»ãããµãŒãã¹ãããã€ããŒãžã®åå¥ã®æ¥ç¶ãªã©ãå¿
èŠã«ãªããŸãã
VoxImplantéä¿¡ã¢ããªã±ãŒã·ã§ã³ãéçºããããã®ã¯ã©ãŠãããŒã¹ã®ãã©ãããã©ãŒã ãäœæãå§ãããšãããã¡ãããIP PBXããã®äœ¿çšã®ããã®æãäžè¬çãªã·ããªãªã®1ã€ã§ããããšãç¥ã£ãŠãããããããã«å¿
èŠãªãã¹ãŠã®æ©èœãå®çŸããŸããã ã¢ã¹ã¿ãªã¹ã¯ã®å Žåãšã¯ç°ãªããVoxImplantã«åºã¥ããŠIP PBXãäœæããããšã決å®ãã人ã¯ãJavascriptã®ç¥èããã®èšäºã«ç²ŸéããPBXã®æåã®äœæ¥ããŒãžã§ã³ãååŸããã®ã«10ã15åããå¿
èŠãããŸããããµãŒãã¹ã䜿çšããŠãèŠä»¶ã«åŸã£ãŠã«ã¹ã¿ãã€ãºããŸãã ã«ããã®äžã§ããã«ã€ããŠã®è©³çŽ°ã
ãŸããPBXã®ã¢ãŒããã¯ãã£ãšæ©èœã決å®ããŸãããã®èšäºã§ã¯ããªãã£ã¹ã§ãã¬ãã©ããŒãæŽçããã®ã«é©ããåºæ¬ããŒãžã§ã³ãæ€èšããŸããå¿
èŠã«å¿ããŠãã¹ã¯ãªãããèŠä»¶ã«åŸã£ãŠã«ã¹ã¿ãã€ãºã§ããŸãããããã«ã€ããŠã¯åŸã§è©³ãã説æããŸãã 次ã®ã¹ããŒã ã«åŸã£ãŠé»è©±äº€æãæ§ç¯ããŸãã
PBXãŠãŒã¶ãŒã¯ãäºãã«é»è©±ããããããå®éã®é»è©±çªå·ã«é»è©±ãããããããããšãã§ããŸãããŠãŒã¶ãŒïŒãªãã¬ãŒã¿ãŒïŒã®å¥ã®ã°ã«ãŒãã¯ãéåžžã®é»è©±ïŒè©³çŽ°ã¯åŸè¿°ïŒãŸãã¯SIPãä»ããŠPBXã«çä¿¡ããçä¿¡ãåä¿¡ã§ããŸããå¿
èŠã«å¿ããŠåéã SIPé»è©±-SIPãWeb SDK / Mobile SDK-VoxImplantã®é©åãªSDKã䜿çšããŠäœæããããã©ãŠã¶ãŸãã¯ã¹ããŒããã©ã³çšã®ã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ããµããŒããããœãããã©ã³ãŸãã¯ã¢ã€ãã³é»è©±ã
ãããã£ãŠãIP PBXãäœæããã«ã¯ãç¡æã®VoxImplantéçºè
ã¢ã«ãŠã³ããå¿
èŠã§ããããã¯
https://voximplant.com/sign-upããååŸã§ããŸã
ãã¢ã«ãŠã³ããäœæããŠæå¹ã«ããåŸãã³ã³ãããŒã«ããã«
https://manage.voximplant.com/ã«ã¢ã¯ã»ã¹ã㊠ãäž»ã«ä»åŸã®ãã¹ãŠã®äœæ¥ãè¡ããŸãã æåã«ãPBXã®ãŠãŒã¶ãŒãšãªãã¬ãŒã¿ãŒã«å¯Ÿå¿ãããŠãŒã¶ãŒïŒãŠãŒã¶ãŒïŒãäœæããå¿
èŠããããŸãããŠãŒã¶ãŒãäœæãããšãããŠãŒã¶ãŒãå¥ã®å人ã¢ã«ãŠã³ãVoxImplantïŒå¥åã®ã¢ã«ãŠã³ãæ®é«ïŒãæã£ãŠãããã圌ã®åŒã³åºããã¢ã«ãŠã³ãã®äžè¬ã¢ã«ãŠã³ãããå·®ãåŒãããããéžæã§ããŸãããã©ã«ãïŒ-äœãå€æŽããŠããŸããããããã©ã«ãã§å€æŽããŸãã
éèŠïŒãã°ã€ã³/ãŠãŒã¶ãŒåïŒ101ã102ã103ãªã©ïŒã«ã¯3æ¡ã®æ°åã³ãŒãã䜿çšããŸããã¹ã¯ãªããã§ã¯ããã®åœ¢åŒããé²ããŸãã ããã§ãPBXæ©èœã®äœæã«çŽæ¥é²ãããšãã§ããŸããVoxImplantãµãŒããŒã¢ããªã±ãŒã·ã§ã³ã¯ããã©ãããã©ãŒã ãééããã³ãŒã«ãåŠçããããã®äžé£ã®ã·ããªãªã§ãã ãããã®ã¹ã¯ãªããã¯éåžžã®Javascriptã§èšè¿°ãããŠãããVoxImplanté¢æ°ãæäœããããã«ããã€ãã®åå空éãšã¯ã©ã¹ã䜿çšã§ããŸãïŒè©³çŽ°ã«ã€ããŠ
ã¯ãªã³ã¯ãåç
§ã
ãŠãã ãã ïŒã ã¹ã¯ãªããã¯ããã·ããªãªãã»ã¯ã·ã§ã³ã§äœæããã³ç·šéãããŸãã åèšã§ãçä¿¡ãçºä¿¡ãããã³ãŠãŒã¶ãŒéã®é話ã®3çš®é¡ã®é話åŠçã·ããªãªããããŸãããããããPBXå
¥åãPBXåºåãããã³PBXããŒã«ã«ãšåŒã³ãŸãã æãåçŽãªPBXããŒã«ã«ããå§ããŸãããã
VoxEngine.forwardCallToUser();
ãããã ãã§ããïŒããšããªãã¯å°ããŸã:)ã¯ãããã
ã ãã§ãããªããªãã
forwardCallToUserã¯ãã¢ããªã±ãŒã·ã§ã³ã®äœæãé«éåããä¿é²ããããã«äœæãããã«ããŒé¢æ°ã®1ã€ã ããã§ãã å®éããã®é¢æ°ã®èåŸã«ã¯Javaã³ãŒãã®äžéšããããŸãïŒ
VoxEngine.addEventListener(AppEvents.CallAlerting, function(e) { var newCall = this.callUser(e.destination, e.callerid, e.displayName); VoxEngine.easyProcess(e.call, newCall); });
easyProcessããã1ã€ã®ãã«ããŒé¢æ°ã§ããå Žå
ãVoxEngineã®ããã¥ã¡ã³ãã§ãã¹ãŠã®é¢æ°ã®è©³çŽ°æ
å ±ãèŠã€ããããšãã§ããŸããçŸåšVoxImplantãå匷ããå¿
èŠã¯ãªãã®ã§ã詳现ã«é²ãããšãªãç¶è¡ããŸãã 次ã®ã¹ã¯ãªããïŒPBX outïŒã¯ãéåžžã®é»è©±çªå·ã«çºä¿¡åŒã³åºããéä¿¡ããŸãã
VoxEngine.addEventListener(AppEvents.CallAlerting, function (e) { var call2 = VoxEngine.callPSTN(e.destination.substring(1), "74957893798"); VoxEngine.easyProcess(e.call, call2); });
ãã®ã³ãŒãã§ã¯ã
callPSTNé¢æ°ã䜿çšããŠãçºä¿¡è
ID-74957893798ã瀺ãé»è©±ãããã¯ãŒã¯ã«é話ããªãã€ã¬ã¯ãããŸããçºä¿¡è
IDãçºä¿¡äžã§ããããšã瀺ãããã«ãèšå®->çºä¿¡è
IDã»ã¯ã·ã§ã³ã§äºåèªèšŒããå¿
èŠããããŸã æåã®ãã©ã¡ãŒã¿ãŒã§ã¯ã1æ¡ã®ãã¬ãã£ãã¯ã¹ãç Žæ£ããŸãïŒåŸã§ã¹ã¯ãªãããã¢ããªã±ãŒã·ã§ã³ã«ãã€ã³ããããšãã«ãã®æ¡ãæ§æããŸãïŒãããã¯ãPSTNã§ã³ãŒã«ãéãå¿
èŠãããããšãéç¥ããŸããã€ãŸããçªå·ã974952200022ãšå
¥åãããŸããæ°ã ããã§ãããã¹ãŠãéåžžã«åçŽã§ãããããæãèå³æ·±ãã·ããªãªã«ç§»ããŸããçä¿¡ã³ãŒã«ïŒPBXãåŠçããïŒãåŠçããããã«ãéšåã«ãèããè¿œå ããŠãããæ確ã«ããŸãã
ãã©ãããã©ãŒã ãžã®æ¥ç¶ãèš±å¯ããŸãããä»åºŠã¯åŒã³åºãåŠçãè¡ãå¿
èŠããããŸããåã®ãªã¹ããŒå
ã§åŒã³åºãæ¥ç¶ã€ãã³ãåŠçãè¿œå ããŸãã
åŒã³åºããæ¥ç¶ããããã«ãã³ãã©ãŒããã³ã°ã¢ããããŸããããåæããã«ã¯ãã³ãã©ãŒããã³ã°ã¢ããããå¿
èŠããããŸãã
e.call.addEventListener(CallEvents.Disconnected, function(e) {
ãããŠãã°ãªãŒãã£ã³ã°ã®åçãå®äºããããã®ãã³ãã©ãŒïŒ
ããããforwardCallToOperatoré¢æ°ã«æ°ä»ããã§ããããé»è©±ã§ãã¿ã³ãæŒããŠå
ç·çªå·ãå
¥åããåŠçãæå¹ã«ãããããã«ããã®é¢æ°ã«æ»ããŸãã åã«ãe.call.handleTonesïŒtrueïŒãåŒã³åºããŠãã³ãã©ãŒãæ¢ã«æå¹ã«ããŠããã®ã§ã宣èšããå¿
èŠããããŸãã
ããŠã次ã¯æãèå³æ·±ãé¢æ°ãforwardCallToExtensionãšforwardCallToOperatorã®æéã§ãã
var operators = ['101', '102', '103'],
ãã¹ãŠã®æºåãæŽã£ãã®ã§ãããŒããçµã¿åãããŠ
å®å
šãªã¹ã¯ãªãããååŸ
ããŸã ã æ®ã£ãŠããã®ã¯ãVoxImplantã¢ããªã±ãŒã·ã§ã³ãäœæãããŠãŒã¶ãŒãšã¹ã¯ãªãããæ¥ç¶ããããšã ãã§ãã ããã¯ã次ã®ç°¡åãªæ¹æ³ã§è¡ãããŸãã
1.ãã¢ããªã±ãŒã·ã§ã³ãã»ã¯ã·ã§ã³ã§ãã¢ããªã±ãŒã·ã§ã³ãäœæããååãä»ããŠãããã䜿çšã§ãããŠãŒã¶ãŒãæå®ããŸãã
2.ã¢ããªã±ãŒã·ã§ã³ãäœæããããããã«ç·šéãéžæããŸã
3. [ã«ãŒã«]ã¿ãã§ã[ã«ãŒã«ã®è¿œå ]ãã¿ã³ã䜿çšããŠãããŒã«ã«ãã¢ãŠããã€ã³ã®3ã€ã®æ°ããã«ãŒã«ãäœæããŸãã
ãŠãŒã¶ãŒã®ååã101ã102ã103ãªã©ã®åœ¢åŒã§æå®ããå ŽåãããŒã«ã«ã«ãŒã«ãäœæãããšã ãã¿ãŒã³ãã£ãŒã«ãã§1 [0-9] {2}ãæå®ãããã©ãã°ã¢ã³ãããããã䜿çšããŠãPBXããŒã«ã«ã¹ã¯ãªãããAvailableããAssignedã«ãã©ãã°ããŠãPBXã«æ¥ç¶ããŠãããŠãŒã¶ãŒãå
éšçªå·ãåŒã³åºãå Žåã«åŒã³åºãã¹ã¯ãªãããå²ãåœãŠãŸããååã ä¿åããŸãã
åæ§ã«ã[ãã¿ãŒã³]ãã£ãŒã«ãã®åºåã«ãŒã«ã«å¯ŸããŠã9 [0-9] +ïŒcallPSTNã¡ãœããã®e.destination.substringïŒ1ïŒã§èŠãåã9ãæãåºããŠãã ããïŒãæå®ããPBX outã¹ã¯ãªãããAssignedã«ãã©ãã°ããŸãã ä¿åããŸãã
æåŸã®ã«ãŒã«ïŒãã¿ãŒã³ã§ã¯ãã¹ããªããã«äœããæå®ãïŒ74957893798 | 100ïŒãPBXãå²ãåœãŠæžã¿ã«ãã©ãã°ããŸãã ä¿åããŸãã 74957893798ã¯åãªãäŸã§ããé»è©±çªå·ã»ã¯ã·ã§ã³ã§ã¢ããªã±ãŒã·ã§ã³ã«æ¥ç¶ã§ããé»è©±çªå·ãå¿
èŠã§ãã ãŸãã100ã䜿çšãããšãsipïŒ100@appname.accountname.voximplant.comãšãã圢åŒã®URLã䜿çšããŠãSIPãä»ããŠPBXãåŒã³åºãããšãã§ããŸããappnameã¯äœææã«æå®ããã¢ããªã±ãŒã·ã§ã³ã®ååã§ãaccountnameã¯æå®ããVoxImplantã¢ã«ãŠã³ãã®ååã§ãç»é²æã«ã SIP転éããµããŒããã賌å
¥æžã¿ã®çªå·ãæ¢ã«ãæã¡ã®å Žåã¯ãããšãã°ãçµç±ã§çä¿¡åŒã³åºãçšã«äœæããSIP URIïŒsipïŒ100@appname.accountname.voximplant.comïŒã«åŒã³åºããéä¿¡ããããšã«ãããPBXã«æ¥ç¶ã§ããŸããäžå£
4.ã¢ããªã±ãŒã·ã§ã³ãä¿åããŸãã
ããã§ãPBXã¯ãSIPé»è©±ïŒãŸãã¯VoxImplant SDKã«åºã¥ãã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ïŒã®æ¥ç¶ãã³ãŒã«ã®åä¿¡ãšåŠçãPBXãŠãŒã¶ãŒéã®ããŒã«ã«ã³ãŒã«ãããã³å®çªå·ãžã®çºä¿¡ã®æºåãã§ããŸããã
PSãã®èšäºã®æ¢è£œã®ã¹ã¯ãªããã¯GitHub
https://github.com/voximplant/pbxã«æçš¿ãããŠã
ãŸã ã VoxImplant Web SDKã«åºã¥ãæ¢è£œã®Webé»è©±ã¯ã
httpïŒ //webphone.voximplant.com/ïŒaccount = accountnameïŒapp = appnameã«ãããŸããaccountnameãšappnameãèªåã®ååã«çœ®ãæããããšãå¿ããªãã§ãã ããã å€ããå°ãªããæ£æ°ãªSIPãœãããã©ã³ãå¿
èŠãªå ŽåãX-lite / Briaããã£ã³ã»ã«ãã人ã¯ããŸããã