문제

저는 Asterisk와 Ruby를 사용하여 확장 가능한 통신급 애플리케이션 작성을 시작하려고 합니다.나는 원래 이를 위해 Adhearsion 프레임워크를 사용하려고 했지만 필요한 성숙도가 없고 문서가 심각하게 부족합니다.AsteriskRuby는 잘 문서화되어 있고 Vonage가 작성한 것으로 보이므로 좋은 대안인 것 같습니다.

AGI 기반 IVR 애플리케이션을 배포한 경험이 있는 사람이 있습니까?있다면 어떤 프레임워크를 사용하셨나요?정당하다면 Ruby가 아닌 것을 고려할 수도 있습니다.감사해요!

도움이 되었습니까?

해결책

v0.8.1이 나왔고 최근에 문서가 훨씬 좋아졌으므로 Adhearsion을 다시 방문해야 합니다.여기를 보세요:

http://adhearsion.com http://docs.adhearsion.com http://api.adhearsion.com

다른 팁

SipX는 실제로 잘못된 대답입니다.저는 SipX 3.10.2에서 매우 복잡한 VoiceXML을 작성했는데 SipX 4에서 IVR을 JAR로 컴파일해야 하는 인터페이스에 대해 SipXVXML을 삭제했기 때문에 모든 것이 소용이 없었습니다.Nortel의 파산 신청, 오픈 소스 버전의 매우 열악한 문서화, VXML 2.0(3.10.2 기준) 및 SIP 표준(3.10.2 기준, ITSP와 제대로 트렁크되지 않음)에 대한 열악한 준수로 마무리하십시오.나는 PBX가 되도록 설계된 작업을 수행하는 데 박수를 보낼 것입니다.하지만 IVR로서 모든 작업을 다시 수행해야 한다면 다른 작업을 수행할 것입니다.확실히 뭔지는 모르겠지만 뭔가 다릅니다.저는 지금 Trixbox CE를 가지고 놀고 있으며 이를 JVoiceXML 또는 VoiceGlue에 연결하는 작업을 하고 있습니다.

또한 SipX 위키 쓰레기를 읽지 마십시오.SipX 3.10을 AsteriskNOW 1, Trixbox 1과 비교합니다.어서 해봐요.마치 Mac OS X를 Win95와 비교하는 것과 같습니다!보다 현실적인 비교는 SipX 4(2009년 1분기 예정)와 Asterisk 1.6 및 Trixbox 2.6을 비교하는 것입니다. 이는 확장성과 고가용성 분야를 제외하면 거의 동일한 결과를 달성한다는 것을 보여줍니다.SipX가 승리합니다.그러나 성숙함과 안정성을 위해서는 Asterisk를 옹호합니다.

또한 SipXVXML을 사용한 실제 성능 결과는 다음과 같습니다.
Dell PowerEdge R200, Xeon Dual Core 3.2GHz는 잡음이 발생하기 전에 17개의 통화를 처리합니다.
HP DL380 G4, Dual Xeon HT 3.2GHz는 오랫동안 일시 중지되기 전에 30개의 통화를 처리합니다.

VoiceGlue 및 JVoiceXML 평가를 마치면 결과를 게시할 예정이지만 모든 도구가 Asterisk에 기본으로 제공되므로 AGI에서 호출되는 사용자 정의 PHP를 작성하게 될 것 같습니다.

"통신 등급" 애플리케이션을 찾고 있다면 별표 대신 SipXecs를 살펴보는 것이 좋습니다.기능이 풍부하고 무료이며 Nortel에서 상업적 지원을 받을 수 있는 오픈 소스입니다.Ruby(또는 다른 언어)의 웹 서비스 API를 통해 상호 작용할 수 있습니다.

참조 SipXec 위키 자세한 내용은.해당 사이트에는 AsteriskNOW 및 TrixBox의 기능을 비교하는 비교 매트릭스가 있습니다.

실제로 다른 프레임워크는 없습니다.물론 모든 언어에 대한 AGI 바인딩이 있지만 전화 통신 애플리케이션 개발을 위한 본격적인 프레임워크에 관한 한 아직은 거기에 도달하지 못했습니다.적어도 오픈 소스 세계에서는요.

관련 질문을 좀 드렸는데요 여기, 여기, 그리고 여기.저는 Microsoft의 Speech Server를 사용하고 있으며, 특히 오픈 소스에 있는 대안에 대해 배우고 싶습니다.이러한 질문 중 하나에 대한 답변에서 좋은 정보를 찾을 수 있습니다.

나는 사용했다 JAGI서버 더 이상 개발 중이 아니지만 광범위하게 사용할 수 있으며 꽤 좋고 사용하기 쉽습니다.FastAGI용 인터페이스인데, 단순 AGI 대신 사용을 권장합니다.

이 프레임워크의 새 버전은 질서있는 통화 더 많은 기능이 있는 것 같지만 필요하지 않았기 때문에 시도하지 않았습니다.

나는 모든 것이 AGI로 무엇을 하려는지에 달려 있다고 생각합니다.일반적으로 나는 모든 사용자 입력을 수집하고 검증하기 위한 다소 복잡한 번호 계획을 가지고 있으며 AGI를 사용하여 일부 변수를 읽고 이를 사용하여 몇 가지 작업(작업, 쿼리 수행 등)을 수행하고 더 많은 설정을 수행하는 Java 애플리케이션에 연결합니다. AGI 채널의 변수를 연결하고 연결을 끊습니다.이 시점에서는 Java 앱에서 설정한 변수의 결과에 따라 번호 계획이 계속됩니다.

AGI에서 들어오는 연결을 수신하고 새 소켓과 JAGIProcessor의 새 인스턴스로 JAGIClient를 생성하는 Java 앱에 ServerSocket이 있기 때문에 이것은 정말 빠르게 작동합니다. 처리) 그런 다음 스레드 풀 내에서 JAGIClient를 실행합니다.JAGIProcessor는 매개변수로 전달된 JAGIClient와 상호 작용하고, 변수를 읽고 설정하거나 AGI 인터페이스에서 허용하는 모든 작업을 수행하는 등 필요한 모든 작업을 수행하는 processCall 메소드를 구현합니다.

따라서 항상 실행되는 Java 앱이 있고 이는 간단한 J2SE 앱일 수도 있고 컨테이너의 EE 앱일 수도 있습니다.일단 실행되면 새로운 프로세스를 시작할 필요가 없기 때문에 AGI 요청을 매우 빠르게 처리합니다(모든 AGI 호출에 대해 프로그램을 실행하는 단순한 AGI와는 대조적).

또 스미.내 클라이언트의 IVR을 SipX에서 PHPAGI를 활용하여 Asterisk로 마이그레이션한 후에는 이만큼 간단하고 유능한 다른 아키텍처를 본 적이 없다고 말해야 합니다.오늘은 이전에 SipX를 테스트했던 것과 동일한 하드웨어에서 Trixbox CE 2.8을 스트레스 테스트할 예정입니다.하지만 IVR에 PHPAGI를 사용하고 디버깅에 Asterisk CLI를 사용하면 완벽하게 작동했으며 다른 어떤 회사보다 훨씬 빠르게 IVR을 개발할 수 있었습니다.저는 오늘 TTS와 ASR을 구현하는 작업을 하고 있으며, 가능하면 스트레스 테스트 결과를 게시하겠습니다.

PHP로 작성된 간단하고 유연한 Asterisk AGI IVRhttp://freshmeat.net/projects/phpivr

작고 쉬운 응용 프로그램의 경우 Perl에서 Asterisk::AGI를 사용합니다.Fast AGI에 대한 확장도 있습니다.VoIP 운영자의 백엔드와 같은 더 큰 애플리케이션의 경우 Java(내 코드)로 작성된 OrderlyCalls와 유사한 것을 사용합니다.OrderlyCalls는 Java fastagi 엔진으로 시작하여 필요에 따라 확장하는 데 적합합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top