2013-04-17 8 views
0

나는 별표를 사용하고 있으며 cdr 레코드를 수집하려고합니다. 나는 잠시 동안 검색을했고 CSV 파일이나 MySQL에 cdr 레코드를 수집하는 데 사용할 수있는 모듈이 이미 있다는 것을 알았습니다.http 게시글로 별표 cdr 레코드 수집

http 게시글을 통해 cdr 레코드를 수집 할 수있는 모듈이 있는지 궁금합니다. 따라서 전화가 끝나면 별표 (*)는 미리 정의 된 URL에 cdr 레코드를 게시합니다.

고맙습니다.

+0

이러한 모듈이 있지만 아무도 사용하지 않아 제거되었습니다. 그런 모듈을 c/C++ 스킬로 부탁 할 수 있습니다. 이것은 간단한 작업입니다. – arheops

답변

0

저는 그러한 모듈을 모르지만 Hangup에 응용 프로그램을 실행할 수 있습니다.

exten => h,n,Set(result=${CURL(http://SERVER/cdr.php?\ 
      cdranswer=${CDR(answer)}&exten=${EXTEN}&cidnum=${CALLERID(num)})}) 
exten => h,n,Noop(${result}) 

또 다른 접근 방법이 끊기에 스크립트를 실행하는 것입니다 :

당신은 기능 ${CURL(url[,post-data])} 사용할 수

exten => h,n,System('php -f /opt/scripts/cdr.php \ 
         ${CallerID(num)} ${EXTEN} "${CDR(answer)}" ${EPOCH}'); 

어쩌면 당신은 또한 $를 사용할 수를 {CDR (billsec)}.

+1

기본적으로 컬은 같은 시간에 10 개 이상의 연결에 문제가 있습니다. 소스 파일에서 변경 가능. – arheops

+0

좋은 해결책 인 것처럼 보이지만 확장 스크립트에 대해서는 잘 모릅니다. 그래서 마침내 나는 mysql에 의해 cdr의 소스 코드를 읽고, 스스로 모듈을 만들어 작업을 수행했다. 모두 고마워. – delphifirst

0

또 다른 옵션은 CRON 작업을 사용하여 스크립트를 마지막으로 실행 한 이후로 모든 CDR을 추출하고 HTTP POST에 몇 분마다 Ruby 또는 PHP 스크립트를 실행하는 것입니다. 나는 고객을 위해 그것을 해왔고 합리적으로 잘 작동한다.

내가 말한 바에 따르면, CDR에서 "오프 머신 (off machine)"에 액세스 할 수 있어야한다면 장거리에서 CDR을 설정할 수있는 가장 쉬운 방법은 MySQL 복제입니다. CDR을 PBX 시스템에 기록하고 보고서 시스템의 복제본에서 읽습니다. 처음에는 좀 더 집중적 인 설정 이었지만 나중에 다른 모든 것들을 나중에 쉽게 만들 수 있습니다.

관련 문제