2011-05-11 3 views
3

저는 VoIP에서 꽤 초보자입니다. 이 프로젝트를 처리하기 전에 Java 또는 C++와 같은 구조화 된 & OOP 프로그래밍에 대해 더 잘 알고 있습니다. 이제는 꽤 복잡한 IVR 스크립트를 코딩해야합니다 (사용자가 콜센터로 전화를 걸어 음악을들을 수 있습니다)별표 (Asterisk) 프로그래밍 팁?

별표 (*)로 작업 한 첫인상은 다음과 같습니다. 어셈블리와 같아서 나에게 악몽 같아요. 구조가 거의 없으며, 많은 수의 Gotoif 명령 (파스칼에서는 goto과 유사 함)과 아니오 (?) 상수 변수의 트랙을 유지하는 IDE입니다.

내가 가지고있는 것만으로도 내 머리가 터지면 메모 패드 ++로 어떤 사람이 전에 쓰여진 스크립트를 찾아서 따라 가면 Gotoif (그가 회사를 떠났습니다)의 수백 명이 있습니다.

많은 경우를 처리 할 때 흐름을 제어하기 쉽도록 스크립트 Asterisk를 코딩하는 데 도움이되는 팁이나 도구가 있습니까?

+0

내가이 질문을 제기한지 3 년이 지난 후에 다시 돌아온다. (누군가의 투표로 시스템의 알림 때문에). 나는 더 이상 별표를 사용하지 않지만, 그 당시 숭고한 본문을 사용하면 삶이 훨씬 쉬워 졌을 것이라고 생각합니다. 이동 또는 조작 명령에 익숙하다면 정말 정말 숭고한 편집자입니다. –

답변

0

당신이 메모장을 사용하고있는 것을보고 ++, 그건 아마 당신이 Windows를 사용하고 있다고 말해줍니다. 그렇다면 CppDepend을 사용하여 코드 분석을 도울 수 있습니다. 이를 통해 그래프 및 행렬에서 모든 종속성 및 코드 메트릭을 보여주는 코드 기반을 신속하게 이해할 수 있습니다. ProjectMaker.exe을 사용하여 Windows에서 분석하기 전에 별표 (Asterisk) 코드를 준비 할 수 있습니다. 제공되는 링크에는 많은 정보가 있으며 다운로드를위한 평가판도 있습니다. 일반 텍스트 파일에 전화 계획을 작성하는 문제를 가지고있는 것처럼

3

HI,

그것은 본다.

그러나 사용자는 AGI 또는 FASTAGI 아키텍처의 asterik을 사용할 수 있으며 C++ 또는 JAVA 코딩을 사용하여 확장 성을 향상 시키면 IVRS 스크립트를 간단하게 관리 할 수 ​​있으므로 JAVA FASTAGI를 사용하면로드 균형 조정에 더 좋습니다.

간단한 애 스터 리스크 AGI 명령을 연구하고 계속 진행하십시오.

또한 IVRS의 더 나은 학습을 위해 IVRS 개발을위한 새롭고 향상된 기술인 인 vxml을 사용할 수 있습니다.

또한 Asterisk 측에서 계속 작업하고 싶다면 일반적인 코딩 규칙과 동일하며 모든 언어에서 간단한 프로그래밍처럼 보이는 AEL을 사용할 수 있습니다.

http://www.voip-info.org/wiki/view/Asterisk+AEL2

+0

고마워요! 방금 전체 다이얼 플랜을 Java 코드로 대체 할 수 있다는 것을 배웠고 대신 AGI를 호출합니다.예를 들어 간단한 Hello World 다이얼 플랜 : 'import net.sf.asterisk.fastagi.AGIChannel; 수입 .... 공용 클래스가 HelloAGIScript이 AbstractAGIScript 확장은 { 공공 무효 서비스 (AGIRequest 요청, AGIChannel 채널) 는 // 채널을 답변 ... 대답 (채널) { AGIException 던졌습니다; \t \t // ... 안녕하세요 ... streamFile (채널, "환영"); \t \t // ... 및 전화 끊기. 전화 끊기 (채널); } }' –

+0

다음 설정 문맥 : [기본] ... exten => 1300,1, 넣고 아직 (AGI : //localhost/hello.agi) 효율성에 대해 일반 텍스트 다이얼에 비교하는 방법 계획, 양쪽 측면 : 코드 작성 및 서버 성능? 감사합니다 Btw, Asterisk 서버 사이에서 IAX를 사용하여 전화를 배포 할 때 Mr. PhuongHD와 함께 일했던 Dhaval입니까? –

0

도서관 예를 PHPAgi, Astersik - 자바, Adhearsion 및 Astive 툴킷을 위해, 그래서 거의 모든 프로그래밍 언어로 할 수 있습니다. IVR이 복잡하다면 AGI의 래퍼 이상으로 Astive Toolkit을 추천 할 것입니다. 살펴보기 http://astive.phonytive.com

0

프로그래밍은 별표 다이얼 플랜은 실제로 약간의 돌 가장자리입니다. 그러나 당신은 꽤 빨리 익숙해집니다. dialplan 외부 또는 내부에서 IVR 로직을 수행 할 수 있습니다. 몇 가지 예를 보려면 http://the-asterisk-book.com/1.6/kapitel-ivr.html을보십시오.