ํ•œ ํ”„๋กœ์ ํŠธ์˜ ์ด์•ผ๊ธฐ ๋˜๋Š” Asterisk์™€ Php๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ PBX๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ 7๋…„์„ ๋ณด๋‚ธ ์ด์•ผ๊ธฐ

์ €์ฒ˜๋Ÿผ ๋ญ”๊ฐ€ ๋…ํŠนํ•œ ์ผ์„ ํ•˜๊ณ  ์‹ถ๋‹ค๋Š” ์ƒ๊ฐ์„ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ถ„๋“ค์ด ๋ถ„๋ช… ๋งŽ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” PBX๋ฅผ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ์ง๋ฉดํ–ˆ๋˜ ๊ธฐ์ˆ ์  ๋ฌธ์ œ์™€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ์ด๊ฒƒ์€ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ž์‹ ์˜ ์•„์ด๋””์–ด๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ  ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๊ตฌํƒ€๋‹นํ•œ ๊ธธ์„ ๋”ฐ๋ฅด๋Š” ๋ฐ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๋‚˜ ๋˜ํ•œ ๊ฐœ์ฒ™์ž์˜ ๊ฒฝํ—˜์œผ๋กœ๋ถ€ํ„ฐ ํ˜œํƒ์„ ๋ฐ›์•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

ํ•œ ํ”„๋กœ์ ํŠธ์˜ ์ด์•ผ๊ธฐ ๋˜๋Š” Asterisk์™€ Php๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ PBX๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ 7๋…„์„ ๋ณด๋‚ธ ์ด์•ผ๊ธฐ

์•„์ด๋””์–ด ๋ฐ ์ฃผ์š” ์š”๊ตฌ ์‚ฌํ•ญ

๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ๊ฒƒ์€ ๋‹จ์ˆœํžˆ ์‚ฌ๋ž‘์œผ๋กœ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ณ„ํ‘œ (ํ†ต์‹  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์ถ•์„ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ), ์ „ํ™” ํ†ต์‹  ๋ฐ ์„ค์น˜ ์ž๋™ํ™” FreePBX (์›น ์ธํ„ฐํŽ˜์ด์Šค ๋ณ„ํ‘œ). ํšŒ์‚ฌ์˜ ์š”๊ตฌ์‚ฌํ•ญ์ด ๊ตฌ์ฒด์ ์ด์ง€ ์•Š๊ณ  ๋Šฅ๋ ฅ์— ๋ถ€ํ•ฉํ•˜๋Š” ๊ฒฝ์šฐ FreePBX - ๋ชจ๋“ ๊ฒƒ์ด ์ข‹์•„. ์ „์ฒด ์„ค์น˜๋Š” XNUMX์‹œ๊ฐ„ ์ด๋‚ด์— ์™„๋ฃŒ๋˜์—ˆ์œผ๋ฉฐ ํšŒ์‚ฌ๋Š” ๊ตฌ์„ฑ๋œ PBX, ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค, ์งง์€ ๊ต์œก ๋ฐ ์›ํ•  ๊ฒฝ์šฐ ์ง€์›์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๊ฐ€์žฅ ํฅ๋ฏธ๋กœ์šด ์ž‘์—…์€ ๋น„ํ‘œ์ค€์ ์ด์—ˆ๊ณ  ๊ทธ๋‹ค์ง€ ํ›Œ๋ฅญํ•˜์ง€๋„ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋ณ„ํ‘œ ๋งŽ์€ ์ผ์„ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์›น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋ ค๋ฉด ๋ช‡ ๋ฐฐ ๋” ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ๋น„ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ž‘์€ ์„ธ๋ถ€ ์‚ฌํ•ญ์€ ๋‚˜๋จธ์ง€ PBX๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์š”์ ์€ ์›น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋Šฅ์— ์žˆ์Šต๋‹ˆ๋‹ค. FreePBX. ์•„ํ‚คํ…์ฒ˜ ์ ‘๊ทผ ๋ฐฉ์‹ ๋ฐ ๋ฐฉ๋ฒ• FreePBX php4 ๋‹น์‹œ์— ๋ฐฐ์น˜๋˜์—ˆ๊ณ  ๊ทธ ๋‹น์‹œ ์ด๋ฏธ ๋ชจ๋“  ๊ฒƒ์„ ๋” ๊ฐ„๋‹จํ•˜๊ณ  ํŽธ๋ฆฌํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” php5.6์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰ ๋นจ๋Œ€๋Š” ๋‹ค์ด์–ด๊ทธ๋žจ ํ˜•ํƒœ์˜ ๊ทธ๋ž˜ํ”ฝ ๋ฒˆํ˜ธ ๊ณ„ํš์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ด๋Ÿฐ ๊ฒƒ์„ ๋งŒ๋“ค๋ ค๊ณ ํ–ˆ์„ ๋•Œ FreePBX, ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ํฌ๊ฒŒ ๋‹ค์‹œ ์ž‘์„ฑํ•ด์•ผํ•˜๊ณ  ์ƒˆ๋กœ์šด ๊ฒƒ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๋” ์‰ฌ์šธ ๊ฒƒ์ด๋ผ๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ์š”๊ตฌ ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๊ฐ„๋‹จํ•œ ์„ค์ •์œผ๋กœ ์ดˆ๋ณด ๊ด€๋ฆฌ์ž๋„ ์ง๊ด€์ ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ธฐ์—…์—์„œ๋Š” ๋‹น์‚ฌ์ธก์— PBX ์œ ์ง€๊ด€๋ฆฌ๋ฅผ ์š”๊ตฌํ•˜์ง€ ์•Š์œผ๋ฉฐ,
  • ์ž‘์—…์ด ์ ์ ˆํ•œ ์‹œ๊ฐ„ ๋‚ด์— ํ•ด๊ฒฐ๋˜๋„๋ก ์‰ฝ๊ฒŒ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • PBX์™€์˜ ํ†ตํ•ฉ ์šฉ์ด์„ฑ. ์œ  FreePBX ์„ค์ • ๋ณ€๊ฒฝ์„ ์œ„ํ•œ API๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํƒ€์‚ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ๊ทธ๋ฃน์ด๋‚˜ ์Œ์„ฑ ๋ฉ”๋‰ด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์—†์œผ๋ฉฐ API ์ž์ฒด์—์„œ๋งŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ„ํ‘œ,
  • ์˜คํ”ˆ ์†Œ์Šค - ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ๊ฒฝ์šฐ ์ด๋Š” ํด๋ผ์ด์–ธํŠธ ์ˆ˜์ •์— ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

๋” ๋น ๋ฅธ ๊ฐœ๋ฐœ ์•„์ด๋””์–ด๋Š” ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ๊ฐ์ฒด ํ˜•ํƒœ์˜ ๋ชจ๋“ˆ๋กœ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฐ์ฒด์—๋Š” ๊ณตํ†ต ์ƒ์œ„ ํด๋ž˜์Šค๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ชจ๋“  ์ฃผ์š” ๊ธฐ๋Šฅ์˜ ์ด๋ฆ„์ด ์ด๋ฏธ ์•Œ๋ ค์ ธ ์žˆ์œผ๋ฏ€๋กœ ๊ธฐ๋ณธ ๊ตฌํ˜„์ด ์ด๋ฏธ ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ž์—ด ํ‚ค๊ฐ€ ์žˆ๋Š” ์—ฐ๊ด€ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ์ธ์ˆ˜ ์ˆ˜๋ฅผ ํฌ๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. FreePBX ์ „์ฒด ํ•จ์ˆ˜์™€ ์ค‘์ฒฉ๋œ ํ•จ์ˆ˜๋ฅผ ์‚ดํŽด๋ณด์•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ์ฒด์˜ ๊ฒฝ์šฐ ์ง„๋ถ€ํ•œ ์ž๋™ ์™„์„ฑ ๊ธฐ๋Šฅ์€ ๋ชจ๋“  ์†์„ฑ์„ ํ‘œ์‹œํ•˜๋ฉฐ ์ผ๋ฐ˜์ ์œผ๋กœ ์ˆ˜๋ช…์„ ์—ฌ๋Ÿฌ ๋ฒˆ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ƒ์†๊ณผ ์žฌ์ •์˜๋Š” ์ด๋ฏธ ์ˆ˜์ •๊ณผ ๊ด€๋ จ๋œ ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

์žฌ์ž‘์—… ์‹œ๊ฐ„์„ ๋Šฆ์ถ”๊ณ  ํ”ผํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š” ๋‹ค์Œ ๊ฒƒ์€ ์ค‘๋ณต์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ง์›์—๊ฒŒ ์ „ํ™” ๊ฑธ๊ธฐ๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ๋ชจ๋“ˆ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ง์›์—๊ฒŒ ์ „ํ™”๋ฅผ ๋ณด๋‚ด๋Š” ๋ฐ ํ•„์š”ํ•œ ๋‹ค๋ฅธ ๋ชจ๋“  ๋ชจ๋“ˆ์€ ์ด๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋ฉฐ ์ž์ฒด ๋ณต์‚ฌ๋ณธ์„ ์ƒ์„ฑํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ํ•œ ๊ณณ์—์„œ๋งŒ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋ฉฐ "์ž‘๋™ ๋ฐฉ์‹"์— ๋Œ€ํ•œ ๊ฒ€์ƒ‰์€ ์ „์ฒด ํ”„๋กœ์ ํŠธ์—์„œ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ•œ ๊ณณ์—์„œ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ๋ฒ„์ „ ๋ฐ ์ฒซ ๋ฒˆ์งธ ์˜ค๋ฅ˜

์ฒซ ๋ฒˆ์งธ ํ”„๋กœํ† ํƒ€์ž…์€ XNUMX๋…„ ์•ˆ์— ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ณ„ํš๋Œ€๋กœ ์ „์ฒด PBX๋Š” ๋ชจ๋“ˆ์‹์ด์—ˆ๊ณ  ๋ชจ๋“ˆ์€ ํ†ตํ™” ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์›น ์ธํ„ฐํŽ˜์ด์Šค ์ž์ฒด๋„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

ํ•œ ํ”„๋กœ์ ํŠธ์˜ ์ด์•ผ๊ธฐ ๋˜๋Š” Asterisk์™€ Php๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ PBX๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ 7๋…„์„ ๋ณด๋‚ธ ์ด์•ผ๊ธฐ
์˜ˆ, ๊ทธ๋Ÿฌํ•œ ๊ณ„ํš์˜ ํ˜•ํƒœ๋กœ ๋ฒˆํ˜ธ ๊ณ„ํš์„ ๊ตฌ์ถ•ํ•œ๋‹ค๋Š” ์•„์ด๋””์–ด๋Š” ๋‚ด ๊ฒƒ์ด ์•„๋‹ˆ์ง€๋งŒ ๋งค์šฐ ํŽธ๋ฆฌํ•˜๊ณ  ๋‚˜๋„ ๋˜‘๊ฐ™์ดํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ณ„ํ‘œ.

ํ•œ ํ”„๋กœ์ ํŠธ์˜ ์ด์•ผ๊ธฐ ๋˜๋Š” Asterisk์™€ Php๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ PBX๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ 7๋…„์„ ๋ณด๋‚ธ ์ด์•ผ๊ธฐ

๋ชจ๋“ˆ์„ ์ž‘์„ฑํ•จ์œผ๋กœ์จ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ์ด๋ฏธ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋‹ค์ด์–ด๊ทธ๋žจ๊ณผ ์™ผ์ชฝ ์š”์†Œ ๋ฉ”๋‰ด์— ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ํ†ตํ™” ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ณ ์œ ํ•œ ๊ธฐ๋Šฅ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ์›น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์œ„ํ•œ ์ž์‹ ๋งŒ์˜ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๊ณ  ๊ธฐ์กด ํŽ˜์ด์ง€์— ํ…œํ”Œ๋ฆฟ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค(ํŽ˜์ด์ง€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ด๋ฅผ ์ œ๊ณตํ•œ ๊ฒฝ์šฐ).
  • ๊ธฐ๋ณธ ์„ค์ • ํƒญ์— ์„ค์ •์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ž์‹ ๋งŒ์˜ ์„ค์ • ํƒญ์„ ๋งŒ๋“œ์„ธ์š”.
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ๊ธฐ์กด ๋ชจ๋“ˆ์„ ์ƒ์†ํ•˜๊ณ  ๊ธฐ๋Šฅ์˜ ์ผ๋ถ€๋ฅผ ๋ณ€๊ฒฝํ•˜์—ฌ ์ƒˆ ์ด๋ฆ„์œผ๋กœ ๋“ฑ๋กํ•˜๊ฑฐ๋‚˜ ์›๋ž˜ ๋ชจ๋“ˆ์„ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ž์‹ ๋งŒ์˜ ์Œ์„ฑ ๋ฉ”๋‰ด๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

......
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. ์‚ฌ๋žŒ๋“ค์ด ์ด ๊ณ„ํš์˜ ์•„์ด๋””์–ด๋ฅผ ์ข‹์•„ํ•ด์„œ ๊ธฐ๋ปค์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์„ ๋‹จ์ˆœํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์€ ์—ฌ์ „ํžˆ โ€‹โ€‹๋งŽ์•˜์ง€๋งŒ ๋‹น์‹œ์—๋„ ์ผ๋ถ€ ์ž‘์—…์€ ์ด๋ฏธ ๋” ์‰ฌ์›Œ์กŒ์Šต๋‹ˆ๋‹ค.

PBX ๊ตฌ์„ฑ ๋ณ€๊ฒฝ์„ ์œ„ํ•œ API๋Š” ์‹ค๋ง์Šค๋Ÿฌ์› ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ๊ณผ ์ „ํ˜€ ๋‹ฌ๋ž์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์—์„œ์™€ ๊ฐ™์€ ์›์น™์„ ์ทจํ–ˆ๋‹ค. FreePBX, ์ ์šฉ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ์ „์ฒด ๊ตฌ์„ฑ์ด ๋‹ค์‹œ ์ƒ์„ฑ๋˜๊ณ  ๋ชจ๋“ˆ์ด ๋‹ค์‹œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณด์ž…๋‹ˆ๋‹ค.

ํ•œ ํ”„๋กœ์ ํŠธ์˜ ์ด์•ผ๊ธฐ ๋˜๋Š” Asterisk์™€ Php๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ PBX๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ 7๋…„์„ ๋ณด๋‚ธ ์ด์•ผ๊ธฐ
*๋‹ค์ด์–ผํ”Œ๋žœ์€ ํ†ตํ™”๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ทœ์น™(์•Œ๊ณ ๋ฆฌ์ฆ˜)์ž…๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด PBX ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•œ ์ผ๋ฐ˜ API๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋จผ์ € ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค. ๋ณ„ํ‘œ ๋„ˆ๋ฌด ๊ธธ๊ณ  ๋ฆฌ์†Œ์Šค ์ง‘์•ฝ์ ์ž…๋‹ˆ๋‹ค.
๋‘˜์งธ, ๋‘ ํ•จ์ˆ˜๋ฅผ ๋™์‹œ์— ํ˜ธ์ถœํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‘˜ ๋‹ค ๊ตฌ์„ฑ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
์…‹์งธ, ๊ด€๋ฆฌ์ž๊ฐ€ ์ง€์ •ํ•œ ์„ค์ •์„ ํฌํ•จํ•œ ๋ชจ๋“  ์„ค์ •์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ด ๋ฒ„์ „์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์•„์Šค์ฝ”์ง€์•„, ๋ณ€๊ฒฝ๋œ ๋ชจ๋“ˆ๋งŒ ๊ตฌ์„ฑ์„ ์ƒ์„ฑํ•˜๊ณ  ํ•„์š”ํ•œ ๋ชจ๋“ˆ๋งŒ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ–ˆ์ง€๋งŒ ์ด๋Š” ๋ชจ๋‘ ์ ˆ๋ฐ˜ ์ˆ˜์ค€์ž…๋‹ˆ๋‹ค. ์ ‘๊ทผ๋ฐฉ์‹์„ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ ๋ฒ„์ „. ์ฝ”๊ฐ€ ๋ฝ‘ํ˜€์„œ ๊ผฌ๋ฆฌ๊ฐ€ ๋ถ™์–ด ์žˆ์Œ

๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์•„์ด๋””์–ด๋Š” ๊ตฌ์„ฑ ๋ฐ ๋ฒˆํ˜ธ ๊ณ„ํš์„ ๋‹ค์‹œ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋ณ„ํ‘œ, ๊ทธ๋Ÿฌ๋‚˜ ์ •๋ณด๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•˜๊ณ  ํ˜ธ์ถœ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ง์ ‘ ์ฝ์Šต๋‹ˆ๋‹ค. ๋ณ„ํ‘œ ๋‚˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๊ตฌ์„ฑ์„ ์ฝ๋Š” ๋ฐฉ๋ฒ•์„ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ณ ๋ คํ•˜์—ฌ ๋‹ค์Œ ํ˜ธ์ถœ์ด ์ฒ˜๋ฆฌ๋˜๋ฉฐ ์ด ๊ธฐ๋Šฅ์€ ๋ฒˆํ˜ธ ๊ณ„ํš ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์ฝ๋Š” ๋ฐ ์™„๋ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. REALTIME_HASH.

๊ฒฐ๊ตญ ๋‹ค์‹œ ์‹œ์ž‘ํ•  ํ•„์š”๋„ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๋ณ„ํ‘œ ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๋ฉด ๋ชจ๋“  ์„ค์ •์ด ์ฆ‰์‹œ ์ ์šฉ๋˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ณ„ํ‘œ.

ํ•œ ํ”„๋กœ์ ํŠธ์˜ ์ด์•ผ๊ธฐ ๋˜๋Š” Asterisk์™€ Php๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ PBX๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ 7๋…„์„ ๋ณด๋‚ธ ์ด์•ผ๊ธฐ

๋‹ค์ด์–ผ ํ”Œ๋žœ์— ๋Œ€ํ•œ ์œ ์ผํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๋‚ด์„  ๋ฒˆํ˜ธ์™€ ํžŒํŠธ. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ์ž‘์€ ๋ถ€๋ถ„์˜ ๋ณ€ํ™”์˜€์Šต๋‹ˆ๋‹ค.

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)
...

๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฒˆํ˜ธ ๊ณ„ํš์—์„œ ๋ผ์ธ์„ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ฏธ (์ œ์–ด ์ธํ„ฐํŽ˜์ด์Šค ๋ณ„ํ‘œ) ์ „์ฒด ๋‹ค์ด์–ผํ”Œ๋žœ์„ ์žฌ๋ถ€ํŒ…ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์ด๋กœ์จ ๊ตฌ์„ฑ API์˜ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ง์ ‘ ๊ฐ€์„œ ์ƒˆ ๊ทธ๋ฃน์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๊ทธ๋ฃน์˜ "์ „ํ™” ์ ‘์† ์‹œ๊ฐ„" ํ•„๋“œ์— ์ „ํ™” ์ ‘์† ์‹œ๊ฐ„์„ ๋ณ€๊ฒฝํ•  ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ ๋‹ค์Œ ํ†ตํ™”๋Š” ์ด๋ฏธ ์ง€์ •๋œ ์‹œ๊ฐ„ ๋™์•ˆ ์ง€์†๋ฉ๋‹ˆ๋‹ค. ์ผ๋ถ€ API ์ž‘์—…์—๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ์ž‘์—… ์•„๋ฏธ ์ „ํ™”).

์ฒซ ๋ฒˆ์งธ ์–ด๋ ค์šด ๊ตฌํ˜„์€ ๋‹ค์‹œ ์ฒซ ๋ฒˆ์งธ ์ž๋ถ€์‹ฌ๊ณผ ์‹ค๋ง์„ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค. ํšจ๊ณผ๊ฐ€ ์žˆ์–ด์„œ ๊ธฐ๋ปค์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ค‘์š”ํ•œ ๋งํฌ๊ฐ€ ๋˜์—ˆ๊ณ  ๋””์Šคํฌ์— ๋Œ€ํ•œ ์˜์กด๋„๊ฐ€ ๋†’์•„์กŒ์œผ๋ฉฐ ์œ„ํ—˜๋„ ๋” ์ปค์กŒ์ง€๋งŒ ๋ชจ๋“  ๊ฒƒ์ด ๋ฌธ์ œ ์—†์ด ์•ˆ์ •์ ์œผ๋กœ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์ด์ œ ์›น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ž‘์—…์„ API๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋™์ผํ•œ ๋ฐฉ๋ฒ•์ด ์‚ฌ์šฉ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ์›น ์ธํ„ฐํŽ˜์ด์Šค์—์„œ๋Š” ๊ด€๋ฆฌ์ž๊ฐ€ ์ž์ฃผ ์žŠ์–ด๋ฒ„๋ฆฐ "PBX์— ์„ค์ • ์ ์šฉ" ๋ฒ„ํŠผ์ด ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์‹ค๋ง์Šค๋Ÿฌ์šด ์ ์€ ๊ฐœ๋ฐœ์ด ๋”์šฑ ๋ณต์žกํ•ด์กŒ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๋ฒ„์ „๋ถ€ํ„ฐ PHP ์–ธ์–ด๋Š” ์–ธ์–ด๋กœ ๋ฒˆํ˜ธ ๊ณ„ํš์„ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ณ„ํ‘œ ์™„์ „ํžˆ ์ฝ์„ ์ˆ˜ ์—†๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๊ณ  ์–ธ์–ด ์ž์ฒด๋„ ๋ณ„ํ‘œ ๋ฒˆํ˜ธ ๊ณ„ํš์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์›์‹œ์ ์ž…๋‹ˆ๋‹ค.

๊ทธ ๋ชจ์Šต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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

๋‘ ๋ฒˆ์งธ ๋ฒ„์ „์—์„œ๋Š” ๋ฒˆํ˜ธ ๊ณ„ํš์ด ๋ณดํŽธํ™”๋˜์—ˆ์œผ๋ฉฐ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋”ฐ๋ผ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์ฒ˜๋ฆฌ ์˜ต์…˜์ด ํฌํ•จ๋˜์—ˆ์œผ๋ฉฐ ํฌ๊ธฐ๊ฐ€ ํฌ๊ฒŒ ๋Š˜์–ด๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ๊ฒƒ์ด ๊ฐœ๋ฐœ ์‹œ๊ฐ„์„ ํฌ๊ฒŒ ์ง€์—ฐ์‹œ์ผฐ๊ณ , ๋‹ค์‹œ ํ•œ ๋ฒˆ ๋ฒˆํ˜ธ ๊ณ„ํš์„ ๋ฐฉํ•ดํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ƒ๊ฐ ์ž์ฒด๊ฐ€ ๋‚˜๋ฅผ ์Šฌํ”„๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์„ธ ๋ฒˆ์งธ ๋ฒ„์ „

๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์•„์ด๋””์–ด๋Š” ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ณ„ํ‘œ PHP์—์„œ ๋‹ค์ด์–ผ ํ”Œ๋žœ์„ ์‚ฌ์šฉํ•˜๊ณ  ์‚ฌ์šฉ FastAGI PHP ์ž์ฒด์—์„œ ๋ชจ๋“  ์ฒ˜๋ฆฌ ๊ทœ์น™์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. FastAGI ๊ทธ๊ฒƒ์€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ๋ณ„ํ‘œ, ํ˜ธ์ถœ์„ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด ์†Œ์ผ“์— ์—ฐ๊ฒฐํ•˜์„ธ์š”. ๊ฑฐ๊ธฐ์—์„œ ๋ช…๋ น์„ ๋ฐ›๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฒˆํ˜ธ ๊ณ„ํš์˜ ๋…ผ๋ฆฌ๋Š” ์ด๋ฏธ ๊ฒฝ๊ณ„๋ฅผ ๋ฒ—์–ด๋‚ฌ์Šต๋‹ˆ๋‹ค. ๋ณ„ํ‘œ ์–ด๋–ค ์–ธ์–ด๋กœ๋“  ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ ๊ฒฝ์šฐ์—๋Š” PHP๋กœ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

๋งŽ์€ ์‹œํ–‰์ฐฉ์˜ค๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ํฐ ๋ฌธ์ œ๋Š” ์ด๋ฏธ ๋งŽ์€ ํด๋ž˜์Šค/ํŒŒ์ผ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ดˆ๊ธฐํ™”ํ•˜๊ณ  ์„œ๋กœ ๋“ฑ๋กํ•˜๋Š” ๋ฐ ์•ฝ 1,5์ดˆ๊ฐ€ ์†Œ์š”๋˜์—ˆ์œผ๋ฉฐ ํ˜ธ์ถœ๋‹น ์ง€์—ฐ์€ ๋ฌด์‹œํ•  ์ˆ˜ ์—†๋Š” ์ˆ˜์ค€์ž…๋‹ˆ๋‹ค.

์ดˆ๊ธฐํ™”๋Š” ํ•œ ๋ฒˆ๋งŒ ๋ฐœ์ƒํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์†”๋ฃจ์…˜ ๊ฒ€์ƒ‰์€ ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ PHP๋กœ ์„œ๋น„์Šค๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Pthread. ์ผ์ฃผ์ผ ๊ฐ„์˜ ์‹คํ—˜ ํ›„์— ์ด ํ™•์žฅ ๊ธฐ๋Šฅ์˜ ์ž‘๋™ ๋ฐฉ์‹์ด ๋ณต์žกํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด ์˜ต์…˜์€ ๋ณด๋ฅ˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•œ ๋‹ฌ ๊ฐ„์˜ ํ…Œ์ŠคํŠธ ํ›„์— ์ €๋Š” PHP์˜ ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๋„ ํฌ๊ธฐํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. PHP ์ดˆ๋ณด์ž์—๊ฒŒ ๊ฐ„๋‹จํ•˜๊ณ  ์นœ์ˆ™ํ•œ ๊ฒƒ์ด ํ•„์š”ํ–ˆ์œผ๋ฉฐ ๋งŽ์€ PHP ํ™•์žฅ์€ ๋™๊ธฐ์‹์ž…๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ์ฑ…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ปดํŒŒ์ผ๋œ C์˜ ์ž์ฒด ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ์„œ๋น„์Šค์˜€์Šต๋‹ˆ๋‹ค. PHPLIB. ๋ชจ๋“  ATS PHP ํŒŒ์ผ์„ ๋กœ๋“œํ•˜๊ณ , ๋ชจ๋“  ๋ชจ๋“ˆ์ด ์ดˆ๊ธฐํ™”๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๊ณ , ์„œ๋กœ ์ฝœ๋ฐฑ์„ ์ถ”๊ฐ€ํ•˜๊ณ , ๋ชจ๋“  ๊ฒƒ์ด ์ค€๋น„๋˜๋ฉด ์บ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์˜ํ•˜์‹ค ๋•Œ FastAGI ์ŠคํŠธ๋ฆผ์ด ์ƒ์„ฑ๋˜๊ณ  ๋ชจ๋“  ํด๋ž˜์Šค์™€ ๋ฐ์ดํ„ฐ์˜ ์บ์‹œ ์‚ฌ๋ณธ์ด ์—ฌ๊ธฐ์— ์žฌ์ƒ์‚ฐ๋˜๋ฉฐ ์š”์ฒญ์ด php ํ•จ์ˆ˜๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.

์ด ์†”๋ฃจ์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์„œ๋น„์Šค ํ˜ธ์ถœ์„ ๋ณด๋‚ธ ํ›„ ์ฒซ ๋ฒˆ์งธ ๋ช…๋ น๊นŒ์ง€ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ๋ณ„ํ‘œ 1,5์ดˆ์—์„œ 0,05์ดˆ๋กœ ์ค„์–ด๋“ค์—ˆ๊ณ  ์ด ์‹œ๊ฐ„์€ ํ”„๋กœ์ ํŠธ ๊ทœ๋ชจ์— ๋”ฐ๋ผ ์กฐ๊ธˆ์”ฉ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

ํ•œ ํ”„๋กœ์ ํŠธ์˜ ์ด์•ผ๊ธฐ ๋˜๋Š” Asterisk์™€ Php๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ PBX๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ 7๋…„์„ ๋ณด๋‚ธ ์ด์•ผ๊ธฐ

๊ทธ ๊ฒฐ๊ณผ ๋‹ค์ด์–ผํ”Œ๋žœ ๊ฐœ๋ฐœ ์‹œ๊ฐ„์ด ๋Œ€ํญ ์ค„์–ด๋“ค์—ˆ๊ณ , ๋ชจ๋“  ๋ชจ๋“ˆ์˜ ๋‹ค์ด์–ผํ”Œ๋žœ ์ „์ฒด๋ฅผ PHP๋กœ ๋‹ค์‹œ ์ž‘์„ฑํ•ด์•ผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ์‚ฌํ•  ๋”ฐ๋ฆ„์ž…๋‹ˆ๋‹ค. ์ฒซ์งธ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๊ฐ์ฒด๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ๋ฉ”์†Œ๋“œ๊ฐ€ ์ด๋ฏธ PHP๋กœ ์ž‘์„ฑ๋˜์–ด ์žˆ์–ด์•ผ ํ•˜๋ฉฐ ์›น ์ธํ„ฐํŽ˜์ด์Šค์— ํ‘œ์‹œํ•˜๋Š” ๋ฐ ํ•„์š”ํ–ˆ๊ณ  ๋‘ ๋ฒˆ์งธ๋กœ ์ด๊ฒƒ์ด ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋ฉฐ ๋งˆ์นจ๋‚ด ์ˆซ์ž์™€ ๋ฐฐ์—ด์ด ํฌํ•จ๋œ ๋ฌธ์ž์—ด๋กœ ํŽธ๋ฆฌํ•˜๊ฒŒ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋งŽ์€ PHP ํ™•์žฅ ๊ธฐ๋Šฅ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“ˆ ํด๋ž˜์Šค์—์„œ ๋ฒˆํ˜ธ ๊ณ„ํš์„ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด ๋‹ค์Œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์ด์–ผํ”Œ๋žœ๋™์ ํ†ตํ™” ๊ทธ๋ฆฌ๊ณ  ๋…ผ์Ÿ pbxCall์š”์ฒญ ์ƒํ˜ธ์ž‘์šฉํ•  ๊ฐœ์ฒด๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๋ณ„ํ‘œ.

ํ•œ ํ”„๋กœ์ ํŠธ์˜ ์ด์•ผ๊ธฐ ๋˜๋Š” Asterisk์™€ Php๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ PBX๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ 7๋…„์„ ๋ณด๋‚ธ ์ด์•ผ๊ธฐ

๋˜ํ•œ, ๋‹ค์ด์–ผํ”Œ๋žœ ๋””๋ฒ„๊น…์ด ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค(php์—๋Š” xdebug๊ฐ€ ์žˆ๊ณ  ์šฐ๋ฆฌ ์„œ๋น„์Šค์— ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค). ๋ณ€์ˆ˜ ๊ฐ’์„ ๋ณด๋ฉด์„œ ๋‹จ๊ณ„๋ณ„๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ†ตํ™” ๋ฐ์ดํ„ฐ

๋ชจ๋“  ๋ถ„์„๊ณผ ๋ณด๊ณ ์„œ์—๋Š” ์ •ํ™•ํ•˜๊ฒŒ ์ˆ˜์ง‘๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ, ์ด PBX ๋ธ”๋ก ์—ญ์‹œ ์ฒซ ๋ฒˆ์งธ ๋ฒ„์ „๋ถ€ํ„ฐ ์„ธ ๋ฒˆ์งธ ๋ฒ„์ „๊นŒ์ง€ ๋งŽ์€ ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ๊ฑฐ์ณค์Šต๋‹ˆ๋‹ค. ํ†ตํ™” ๋ฐ์ดํ„ฐ๊ฐ€ ์‹ ํ˜ธ์ธ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ์˜ ํ†ตํ™” = ํ•œ ๋ฒˆ์˜ ๋…น์Œ: ๋ˆ„๊ฐ€ ์ „ํ™”ํ–ˆ๋Š”์ง€, ๋ˆ„๊ฐ€ ์‘๋‹ตํ–ˆ๋Š”์ง€, ํ†ตํ™” ์‹œ๊ฐ„. ๋” ํฅ๋ฏธ๋กœ์šด ์˜ต์…˜์—๋Š” ํ†ตํ™” ์ค‘์— ์–ด๋–ค PBX ์ง์›์ด ์ „ํ™”๋ฅผ ๋ฐ›์•˜๋Š”์ง€ ๋‚˜ํƒ€๋‚ด๋Š” ์ถ”๊ฐ€ ํ‘œ์‹œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ชจ๋“  ๊ฒƒ์€ ์š”๊ตฌ ์‚ฌํ•ญ์˜ ์ผ๋ถ€๋งŒ์„ ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ดˆ๊ธฐ ์š”๊ตฌ ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • PBX์—์„œ ์ „ํ™”ํ•œ ์‚ฌ๋žŒ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‘๋‹ตํ•œ ์‚ฌ๋žŒ๋„ ์ €์žฅํ•˜์„ธ์š”. ๊ฐ€๋กœ์ฑ„๊ธฐ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ํ†ตํ™”๋ฅผ ๋ถ„์„ํ•  ๋•Œ ์ด๋ฅผ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ง์›๊ณผ ์—ฐ๊ฒฐ๋˜๊ธฐ ์ „์˜ ์‹œ๊ฐ„. ~ ์•ˆ์— FreePBX ์ผ๋ถ€ ๋‹ค๋ฅธ PBX์˜ ๊ฒฝ์šฐ PBX๊ฐ€ ์ „ํ™”๋ฅผ ๋ฐ›๋Š” ์ฆ‰์‹œ ์ „ํ™”์— ์‘๋‹ตํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์Œ์„ฑ ๋ฉ”๋‰ด์˜ ๊ฒฝ์šฐ ์ด๋ฏธ ์ „ํ™”๋ฅผ ๋ฐ›์•„์•ผ ํ•˜๋ฏ€๋กœ ๋ชจ๋“  ์ „ํ™”์— ์‘๋‹ตํ•˜๊ณ  ์‘๋‹ต ๋Œ€๊ธฐ ์‹œ๊ฐ„์€ 0~1์ดˆ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‘๋‹ต ์ „ ์‹œ๊ฐ„๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ฃผ์š” ๋ชจ๋“ˆ(๋ชจ๋“ˆ ์ž์ฒด์—์„œ ์ด ํ”Œ๋ž˜๊ทธ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ๋Š” "์ง์›", "์™ธ๋ถ€ ํšŒ์„ ")๊ณผ ์—ฐ๊ฒฐ๋˜๊ธฐ ์ „์˜ ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋” ๋ณต์žกํ•œ ๋ฒˆํ˜ธ ๊ณ„ํš์˜ ๊ฒฝ์šฐ ํ˜ธ์ถœ์ด ์„œ๋กœ ๋‹ค๋ฅธ ๊ทธ๋ฃน ๊ฐ„์— ์ด๋™ํ•  ๋•Œ ๊ฐ ์š”์†Œ๋ฅผ ๋ณ„๋„๋กœ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์ข‹์€ ์˜ต์…˜์€ PBX ๋ชจ๋“ˆ์ด ํ†ตํ™” ์‹œ ์ž์‹ ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ณด๋‚ด๊ณ  ๊ถ๊ทน์ ์œผ๋กœ ์ •๋ณด๋ฅผ ํŠธ๋ฆฌ ํ˜•์‹์œผ๋กœ ์ €์žฅํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ฒซ์งธ, ํ†ตํ™”์— ๋Œ€ํ•œ ์ผ๋ฐ˜ ์ •๋ณด์ž…๋‹ˆ๋‹ค(๋‹ค๋ฅธ ๋ชจ๋“  ์‚ฌ๋žŒ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํŠน๋ณ„ํ•œ ๋‚ด์šฉ์€ ์—†์Œ).

ํ•œ ํ”„๋กœ์ ํŠธ์˜ ์ด์•ผ๊ธฐ ๋˜๋Š” Asterisk์™€ Php๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ PBX๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ 7๋…„์„ ๋ณด๋‚ธ ์ด์•ผ๊ธฐ

  1. ์™ธ๋ถ€์„ ์œผ๋กœ ์ „ํ™”๊ฐ€ ์™”์Šต๋‹ˆ๋‹ค."๋ฐ˜์ฃฝ์˜ ๊ฒฝ์šฐ"05:55:52์— 89295671458์—์„œ 89999999999๊นŒ์ง€, ๊ฒฐ๊ตญ ์ง์›์ด ๋‹ต๋ณ€ํ–ˆ์Šต๋‹ˆ๋‹ค."๋น„์„œ2ยป ๋ฒˆํ˜ธ 104. ๋‚ด๋‹ด์ž๋Š” 60์ดˆ๋ฅผ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ 36์ดˆ ๋™์•ˆ ๋งํ–ˆ์Šต๋‹ˆ๋‹ค.
  2. ์ง์› "๋น„์„œ2"112์— ์ „ํ™”ํ•˜๋‹ˆ ์ง์›์ด ๋ฐ›๋„ค์š”"๊ด€๋ฆฌ์ž1ยป 8์ดˆ ํ›„. ๊ทธ๋“ค์€ 14์ดˆ ๋™์•ˆ ์ด์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค.
  3. ํด๋ผ์ด์–ธํŠธ๋Š” ์ง์›์—๊ฒŒ "๊ด€๋ฆฌ์ž1" ๊ทธ๋“ค์€ 13์ดˆ ๋™์•ˆ ๊ณ„์†ํ•ด์„œ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆด์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ๋น™์‚ฐ์˜ ์ผ๊ฐ์ด๋ฉฐ ๊ฐ ๊ธฐ๋ก์— ๋Œ€ํ•ด PBX๋ฅผ ํ†ตํ•ด ์ž์„ธํ•œ ํ†ตํ™” ๋‚ด์—ญ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•œ ํ”„๋กœ์ ํŠธ์˜ ์ด์•ผ๊ธฐ ๋˜๋Š” Asterisk์™€ Php๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ PBX๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ 7๋…„์„ ๋ณด๋‚ธ ์ด์•ผ๊ธฐ

๋ชจ๋“  ์ •๋ณด๋Š” ํ˜ธ์ถœ์˜ ์ค‘์ฒฉ์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

  1. ์™ธ๋ถ€์„ ์œผ๋กœ ์ „ํ™”๊ฐ€ ์™”์Šต๋‹ˆ๋‹ค."๋ฐ˜์ฃฝ์˜ ๊ฒฝ์šฐยป 05:55:52์— ์ˆซ์ž 89295671458์—์„œ ์ˆซ์ž 89999999999๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.
  2. 05:55:53์— ์™ธ๋ถ€ ํšŒ์„ ์ด ์ˆ˜์‹  ํšŒ๋กœ์— ํ˜ธ์ถœ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค."testยป
  3. ๊ตฌ์„ฑํ‘œ์— ๋”ฐ๋ผ ํ†ตํ™”๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋ชจ๋“ˆ์€ โ€œ๋งค๋‹ˆ์ € ์ „ํ™”", ํ†ตํ™” ์‹œ๊ฐ„์€ 16์ดˆ์ž…๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋ฅผ ์œ„ํ•ด ๊ฐœ๋ฐœ๋œ ๋ชจ๋“ˆ์ž…๋‹ˆ๋‹ค.
  4. ๋ชจ๋“ˆ "๋งค๋‹ˆ์ € ์ „ํ™”" ํ•ด๋‹น ๋ฒˆํ˜ธ๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ์ง์›(๊ณ ๊ฐ)์—๊ฒŒ ์ „ํ™”๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค. "๊ด€๋ฆฌ์ž1โ€๋ผ๊ณ  ๋งํ•˜๊ณ  5์ดˆ ๋™์•ˆ ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค. ๋งค๋‹ˆ์ €๋Š” ๋Œ€๋‹ตํ•˜์ง€ ์•Š์•˜๋‹ค.
  5. ๋ชจ๋“ˆ "๋งค๋‹ˆ์ € ์ „ํ™”"๊ทธ๋ฃน์— ์ „ํ™”๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค."CORP ๊ด€๋ฆฌ์ž" ์ด๋“ค์€ ๊ฐ™์€ ๋ฐฉํ–ฅ(๊ฐ™์€ ๋ฐฉ์— ์•‰์•„)์˜ ๋‹ค๋ฅธ ๋งค๋‹ˆ์ €๋“ค๋กœ, 11์ดˆ ๋™์•ˆ ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋‹ค.
  6. ๊ทธ๋ฃน "CORP ๊ด€๋ฆฌ์ž"์ง์›์—๊ฒŒ ์ „ํ™”ํ•ด์š”"๊ด€๋ฆฌ์ž1, ๊ด€๋ฆฌ์ž2, ๊ด€๋ฆฌ์ž3"๋™์‹œ์— 11์ดˆ ๋™์•ˆ. ๋Œ€๋‹ต์ด ์—†์Šต๋‹ˆ๋‹ค.
  7. ๊ด€๋ฆฌ์ž์˜ ํ†ตํ™”๊ฐ€ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํšŒ๋กœ๋Š” ๋ชจ๋“ˆ์— ํ˜ธ์ถœ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค."1c์—์„œ ๊ฒฝ๋กœ ์„ ํƒ" ๋˜ํ•œ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์œ„ํ•ด ์ž‘์„ฑ๋œ ๋ชจ๋“ˆ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ํ†ตํ™”๋Š” 0์ดˆ ๋™์•ˆ ์ฒ˜๋ฆฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  8. ํšŒ๋กœ๋Š” ์Œ์„ฑ ๋ฉ”๋‰ด "์— ํ˜ธ์ถœ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.์ถ”๊ฐ€ ๋‹ค์ด์–ผ๋ง์ด ํฌํ•จ๋œ ๊ธฐ๋ณธ" ํด๋ผ์ด์–ธํŠธ๋Š” 31์ดˆ ๋™์•ˆ ๊ทธ๊ณณ์—์„œ ๊ธฐ๋‹ค๋ ธ๊ณ  ์ถ”๊ฐ€ ์ „ํ™” ๊ฑธ๊ธฐ๋Š” ์—†์—ˆ์Šต๋‹ˆ๋‹ค.
  9. ์ด ๊ตฌ์„ฑํ‘œ๋Š” ๊ทธ๋ฃน "์— ์ „ํ™”๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.๋น„์„œ", ํด๋ผ์ด์–ธํŠธ๋Š” 12์ดˆ ๋™์•ˆ ๊ธฐ๋‹ค๋ ธ์Šต๋‹ˆ๋‹ค.
  10. ๊ทธ๋ฃน์—์„œ๋Š” ์ง์› 2๋ช…์ด ๋™์‹œ์— ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค."๋น„์„œ1"๊ทธ๋ฆฌ๊ณ "๋น„์„œ2" ๊ทธ๋ฆฌ๊ณ  12์ดˆ ํ›„์— ์ง์›์ด ๋Œ€๋‹ตํ•ฉ๋‹ˆ๋‹ค. "๋น„์„œ2" ํ†ตํ™”์— ๋Œ€ํ•œ ์‘๋‹ต์€ ํ•™๋ถ€๋ชจ ํ†ตํ™”์— ๋ณต์ œ๋ฉ๋‹ˆ๋‹ค. ๊ทธ ๊ทธ๋ฃน์—์„œ ๊ทธ๋Š” โ€œ๋น„์„œ2", ํšŒ์„ ์— ์ „ํ™”๋ฅผ ๊ฑธ ๋•Œ "๋น„์„œ2"๋ผ๊ณ  ๋งํ•˜๊ณ  ์™ธ๋ถ€์„ ์œผ๋กœ ๊ฑธ๋ ค์˜จ ์ „ํ™”์— "๋น„์„œ2".

๊ฐ„๋‹จํžˆ ๋ณด๊ณ ์„œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฒƒ์€ ๊ฐ ์ž‘์—… ๋ฐ ์ค‘์ฒฉ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์Œ์„ฑ ๋ฉ”๋‰ด์— ๋Œ€ํ•œ ๋ณด๊ณ ์„œ๋Š” ๊ทธ๊ฒƒ์ด ์–ผ๋งˆ๋‚˜ ๋„์›€์ด ๋˜๋Š”์ง€ ๋ฐฉํ•ด๊ฐ€ ๋˜๋Š”์ง€ ์•Œ์•„๋‚ด๋Š” ๋ฐ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ง์›์ด ๋†“์นœ ์ „ํ™”์— ๋Œ€ํ•œ ๋ณด๊ณ ์„œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ํ†ตํ™”๊ฐ€ ์ฐจ๋‹จ๋˜์—ˆ์œผ๋ฏ€๋กœ ๋ถ€์žฌ์ค‘์œผ๋กœ ๊ฐ„์ฃผ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ , ๊ทธ๋ฃน ํ†ตํ™”์˜€๊ณ  ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๋” ์ผ์ฐ ์‘๋‹ตํ–ˆ๋‹ค๋Š” ์ , ์ฆ‰ ํ†ตํ™”๋„ ๋†“์นœ ์ƒํƒœ๊ฐ€ ์•„๋‹ˆ๋ผ๋Š” ์ ์„ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ •๋ณด ์ €์žฅ์„ ํ†ตํ•ด ๊ฐ ๊ทธ๋ฃน์„ ๊ฐœ๋ณ„์ ์œผ๋กœ ๊ฐ€์ ธ์™€ ์–ผ๋งˆ๋‚˜ ํšจ๊ณผ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํŒ๋‹จํ•˜๊ณ  ์‹œ๊ฐ„๋ณ„๋กœ ์‘๋‹ตํ•œ ๊ทธ๋ฃน๊ณผ ๋†“์นœ ๊ทธ๋ฃน์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ๊ด€๋ฆฌ์ž ์—ฐ๊ฒฐ ํ›„ ์ด์ฒด ๋‚ด์—ญ์„ ๋ถ„์„ํ•˜์—ฌ ๋‹ด๋‹น ๊ด€๋ฆฌ์ž์™€์˜ ์—ฐ๊ฒฐ์ด ์–ผ๋งˆ๋‚˜ ์ •ํ™•ํ•œ์ง€ ํ™•์ธํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—†๋Š” ๋ฒˆํ˜ธ๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๋‚ด์„  ๋ฒˆํ˜ธ๋กœ ์ „ํ™”๋ฅผ ๊ฑฐ๋Š” ๋นˆ๋„๋‚˜ ๋ฐœ์‹  ์ „ํ™”์˜ ๋ช‡ ํผ์„ผํŠธ๊ฐ€ ํœด๋Œ€ํฐ์œผ๋กœ ์ „๋‹ฌ๋˜๋Š”์ง€ ๋“ฑ ๋งค์šฐ ์ด๋ก€์ ์ธ ์—ฐ๊ตฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋Š” ์–ด๋–ป์Šต๋‹ˆ๊นŒ?

PBX๋ฅผ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์ „๋ฌธ๊ฐ€๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๊ด€๋ฆฌ์ž๊ฐ€ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์ณค์Šต๋‹ˆ๋‹ค.

์ˆ˜์ •์—๋Š” ์‹ฌ๊ฐํ•œ ์ž๊ฒฉ์„ ๊ฐ–์ถ˜ ์ „๋ฌธ๊ฐ€๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ PHP์— ๋Œ€ํ•œ ์ง€์‹์ด๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. SIP ํ”„๋กœํ† ์ฝœ, ๋Œ€๊ธฐ์—ด, ์ง์› ํ˜ธ์ถœ ๋ฐ ๊ธฐํƒ€ ๋ชจ๋“ˆ์„ ์œ„ํ•œ ๋ชจ๋“ˆ์ด ์ด๋ฏธ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ž˜ํผ ํด๋ž˜์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ„ํ‘œ. ๋ชจ๋“ˆ์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์ง„ ๋ชจ๋“ˆ์„ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๊ทธ๋ฆฌ๊ณ  ์ข‹์€ ๋ฐฉ๋ฒ•์œผ๋กœ ํ˜ธ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค). ๊ทธ๋ฆฌ๊ณ  ์ง€์‹ ๋ณ„ํ‘œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ƒˆ๋กœ์šด ๋ณด๊ณ ์„œ๊ฐ€ ํฌํ•จ๋œ ํŽ˜์ด์ง€๋ฅผ ์ถ”๊ฐ€ํ•˜๋„๋ก ์š”์ฒญํ•˜๋Š” ๊ฒฝ์šฐ ์ „ํ˜€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‹ค์Šต์— ๋”ฐ๋ฅด๋ฉด ์ œXNUMX์ž ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ๋Œ€์ฒ˜ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋ฌธ์„œํ™” ๋ฐ ์ผ๋ฐ˜์ ์ธ ๋Œ“๊ธ€ ์ ์šฉ์ด ์—†์œผ๋ฉด ๋ถˆ์•ˆ๊ฐ์„ ๋Š๋ผ๋ฏ€๋กœ ์—ฌ์ „ํžˆ ๊ฐœ์„ ์˜ ์—ฌ์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“ˆ์€ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ƒˆ๋กœ์šด ํ†ตํ™” ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ์„ ์ƒ์„ฑํ•˜๊ณ ,
  • ์›น ์ธํ„ฐํŽ˜์ด์Šค์— ์ƒˆ ๋ธ”๋ก์„ ์ถ”๊ฐ€ํ•˜๊ณ ,
  • ๊ธฐ์กด ๋ชจ๋“ˆ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ƒ์†ํ•˜๊ฑฐ๋‚˜, ๊ธฐ๋Šฅ์„ ์žฌ์ •์˜ํ•˜๊ณ  ๊ต์ฒดํ•˜๊ฑฐ๋‚˜, ๋‹จ์ˆœํžˆ ์•ฝ๊ฐ„ ์ˆ˜์ •๋œ ๋ณต์‚ฌ๋ณธ์ด ๋˜์‹ญ์‹œ์˜ค.
  • ๋‹ค๋ฅธ ๋ชจ๋“ˆ ๋“ฑ์˜ ์„ค์ • ํ…œํ”Œ๋ฆฟ์— ์„ค์ •์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”.

API๋ฅผ ํ†ตํ•œ PBX ์„ค์ •. ์œ„์—์„œ ์„ค๋ช…ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ชจ๋“  ์„ค์ •์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋˜์–ด ํ˜ธ์ถœ ์‹œ ์ฝ์–ด์˜ค๊ธฐ ๋•Œ๋ฌธ์— API๋ฅผ ํ†ตํ•ด ๋ชจ๋“  PBX ์„ค์ •์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. API๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ๊ตฌ์„ฑ์ด ๋‹ค์‹œ ์ƒ์„ฑ๋˜์ง€ ์•Š๊ณ  ๋ชจ๋“ˆ์ด ๋‹ค์‹œ ์‹œ์ž‘๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์„ค์ • ์ˆ˜์™€ ์ง์› ์ˆ˜๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. API ์š”์ฒญ์€ ๋น ๋ฅด๊ฒŒ ์‹คํ–‰๋˜๋ฉฐ ์„œ๋กœ๋ฅผ ์ฐจ๋‹จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

PBX๋Š” ํ†ตํ™” ์‹œ๊ฐ„(๋Œ€๊ธฐ/๋Œ€ํ™”), ์ค‘์ฒฉ ๋ฐ PBX ์šฉ์–ด(์ฑ„๋„, ๋ฒˆํ˜ธ๊ฐ€ ์•„๋‹Œ ์ง์›, ๊ทธ๋ฃน, ์™ธ๋ถ€ ํšŒ์„ )๋กœ ๋ชจ๋“  ์ฃผ์š” ์ž‘์—…์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํŠน์ • ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ๋ณด๊ณ ์„œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋Œ€๋ถ€๋ถ„์˜ ์ž‘์—…์€ ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ์— ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚ ์ง€๋Š” ์‹œ๊ฐ„์ด ๋งํ•ด ์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•„์ง ์ˆ˜์ •ํ•ด์•ผ ํ•  ๋‰˜์•™์Šค๊ฐ€ ๋งŽ๊ณ  ๊ณ„ํš๋„ ๋งŽ์ง€๋งŒ ์„ธ ๋ฒˆ์งธ ๋ฒ„์ „์„ ๋งŒ๋“  ์ง€ 3๋…„์ด ์ง€๋‚ฌ๊ณ  ์ด๋ฏธ ์•„์ด๋””์–ด๊ฐ€ ํšจ๊ณผ๊ฐ€ ์žˆ๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„์ „ 3์˜ ๊ฐ€์žฅ ํฐ ๋‹จ์ ์€ ํ•˜๋“œ์›จ์–ด ๋ฆฌ์†Œ์Šค์ด์ง€๋งŒ, ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐœ๋ฐœ ์šฉ์ด์„ฑ์„ ์œ„ํ•ด ๋น„์šฉ์„ ์ง€๋ถˆํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€