freepbx 8

[FreePBX] Python으로 AMI 프로그래밍 테스트 2 (이벤트 수신 및 처리 - 비동기 방식)

안녕하세요. 지난 글 "Python으로 FreePBX AMI 프로그래밍 테스트 1 (연결, Ping, 종료흐름)"에서는 Python의 socket 모듈을 사용하여 FreePBX AMI에 접속하고, 간단한 명령(Login, Ping, Logoff)을 실행하는 동기적인 기본 흐름을 살펴보았습니다. 하지만 전화 시스템의 상태 변화(예: 전화 수신, 통화 종료, 채널 상태 변경 등)를 실시간으로 감지하고 이에 맞게 처리하려면 조금 다른 접근 방식이 필요합니다. 바로 AMI가 지속적으로 보내주는 이벤트(Event)를 수신하고 처리하는 것입니다. 이번 글에서는 Python의 asyncio라이브러리를 활용하여 FreePBX AMI로부터 이벤트를 비동기적으로 수신하고, 특정 이벤트를 감지하여 처리하는 방법을..

[FreePBX]Python으로 FreePBX AMI 프로그래밍 테스트 1 (연결, Ping, 종료 흐름)

안녕하세요. 이전 글에서는 telnet으로 간단하게 연결 확인을 해보았습니다. 그러나 매번 접속해서 수동으로 입력하면서 실행하는 것은 비효율적일 것입니다. 프로그램 언어로 통신하면 순서대로 자동 처리를 할 수 있을 것입니다. 그래서 쉽게 테스트해 볼 수 있는 Python언어를 가지고 FreePBX 전화 시스템과 통신하는 방법인 AMI(Asterisk Manager Interface)에 대해서 확인해 보겠습니다. AMI가 뭔가요? 하시는 분은 이전 글을 참조 부탁드립니다. https://remnant24c1.tistory.com/534 쉽게 말하자면, FreePBX 서버와 통신할 수 있는 약속된 방법입니다. 마치 서버와 채팅하는 것과 비슷합니다. 1. 준비사항 - PC에 Python 3 설치..

[FreePBX] AMI란 무엇이고 접속해보기

안녕하세요 FreePBX 관련해서 물리적 측면 보다 SW적 확인할 일이 있어서 자료를 찾아보고 테스트해 본 내용을 공유드립니다. FreePBX분야 전문 개발자가 아니다 보니, 실수한 내용들이 있을 수 있습니다. 참고 정도로 봐주시고, 잘못된 부분은 댓글 주시면 수정하도록 하겠습니다. FreePBX에 접근해서 신호를 제어하기 위해서 AMI(Asterisk Manager Interface)를 먼저 알고 접속해야 합니다. 그래서 첫 번째 내용으로 간단한 이론과 접속하는 방법을 정해보았습니다. API 방법도 있지만, AMI가 좀 더 제어권한이 많아 선택해서 테스트했습니다. 이후 AMI로 해볼 수 있는 기능을 python으로 몇 가지 테스트하는 글을 올려 보겠습니다. 테스트한 환경은 Virtual B..

FreePBX 설치 후 나타날 수 있는 증상들-1 (전화를 걸면 거절, Cannot Connect To Asterisk)

안녕하세요.  이전 글 내용을 이어서 추가적으로 FreePBX 설치를 진행하다가 생기는 문제점이 있어 나중에 참고도 할 겸 공유드립니다. 현재 증상은 Asterisk와 FreePBX를 소스로 다운로드해서 설치를 진행했을 경우 발행하는 증상일 수 있습니다. 그래서 모든 상황에 적용될 수 없음을 말씀드립니다. 기타 사항에 대해서는 커뮤니티(https://community.freepbx.org/)의 도움을 받으시면 좋지 않을까 합니다.  1. 전화를 걸면 거절 증상   원인이라고 하기보다는 이런 증상이 발생했는데, 이런 이유에서 이렇게 해도 되었네라고 참고하시면 좋을 것 같습니다.   Asterisk 컴파일하고 FreePBX가 문제없이 설치했고, SIP 번호도 Extentions에 추가해서 문제가 없이 전화기..

FreePBX에 모듈(Module) 추가하는 방법 (Asterisk)

안녕하세요.  예전 글에서 Asterisk를 Raspberry Pi에 컴파일해서 테스트했습니다. 이번에는 일반 PC에 Asterisk를 설치했다는 전제하에 작동시켜보려고 합니다. 그러나 Asterisk를 운영하기 위해서는 많은 설정이 필요합니다.(간단하게도 가능하지만) 그래서 나온 것이 FreePBX라는 GUI OpenSource가 있어 설치를 진행했습니다.  그런데 OpenSource로 설치해 보면 메뉴들이  많이 나오지 않기 때문에 기능(모듈)을 어떻게 추가 설치하는지 처음에 잘 모르기 때문에, 확인한 내용 공유해보려고 합니다. 어렵지 않고 처음에 어떻게 하는 참고 하면 되는 내용입니다.  1. FreePBX 접속  FreePBX Distro ISO 버전을 PC에 VM Ware를 통해서 설치했거나, ..

PBX의 IVR(Interactive Voice Response, 자동 응답 기능(?) ) 기능 확인(UC200, FreePBX)

안녕하세요.  PBX와 SIP 전화기를 단순 전화기능으로만 사용하면 재미가 없을 수 있습니다.(?)  무슨 말이지 할 수도 있을 것입니다. 자동 응답기처럼 숫자 키패드를 누르면 다른 부서 혹은 정보를 전달해  주는 기능도 있기 때문에 여러 가지로 활용할 수  있습니다.  이전 글과 동일하게 UC200 제품 기준으로 설명하고, FreePBX에 대한 내용을 참고로 추가해 보았습니다. 테스트 하려는 기능은 IVR 번호로 전화를 걸면 자동 음성 메시지를 방송하고 숫자키를 누르면 특정 내선 번호로 연결해 주는 것입니다.  1. IVR(Interactive Voice Response) 간략한 기능 설명  PBX의 IVR(Interactive Voice Response) 기능은 전화 시스템에서 자동 응답을 통해 전화..

PBX의 Paging(1:N 전화 걸기, 방송하기) 기능 확인

안녕하세요. SIP 전화기를 1:1 전화로 사용한다면 크게 생각할 것이 없지만, 여러 명에게 동시에 전화를 할 수 있는 기능이 있다면 편할 것입니다. 이런 기능을 할 수 있는 것으로 Paging 있습니다.  SIP 스피커처럼 자동으로 전화를 수신하게 설정해 놓는다면 공지사항 방송으로 사용할 수 도 있습니다. 아래 메뉴 사진은 UC200 제품에 있는 내용으로 FreePBX와 다를 수 있지만, 개념적으로 유사하다고 보시고 참고하시면 됩니다. PC 혹은 SBC(Raspberry Pi) 제품에 설치된 FreePBX를 사용할 경우를 위해 간단하게 내용 추가해 놓았습니다.   1. Paging 간략 설명 1) 사용 시나리오   공지사항 방송: 회사 내 특정 부서나 전체 사무실에 공지사항을 전달해야 할 때, 각 사용..

FreePBX 설치 후 SIP 연결이 안 될 경우 한 가지 확인할 것

안녕하세요.  VirtualBox에 FreePBX(Sangoma에서 제공해 주는 ISO 파일)를 설치하고 SIP Client 프로그램에 서버를 설정하고 전화(VoIP)하면 연결되지 않는 경우가 있습니다. 설치한 버전하고 테스트한 버전은 FreePBX 16, Asterisk 16, VirtualBOx 7.0입니다.   설치하고 본인의 PC 내부망으로 테스트하면 연결하고 거는 것은 문제가 없을 수 있습니다. 그러나 외부와 다른 컴퓨터에서 연결을 시도하면 되지 않을 수 있습니다.  특별한 것은 아니고 잊어버릴 때가 있어 남겨 놓습니다. 추가로 공인 IP를 이용해서 외부에서 접근하려면 설정이 몇 가지 더 설정이 필요합니다. 여기서는 내부망에서 확인합니다.  1. TCP 연결 허용 Settings -> Aster..