Perl에서 자체 SIP 클라이언트를 구현하지 마십시오. 바로 사용할 수있는 구현이 있으므로 PITA 및 시간 낭비가 될 것입니다.
예를 들어 Asterisk을 사용할 수 있습니다. 스크립팅 기능으로 매우 유연합니다. 훌륭한 커뮤니티가 있으며 잘 문서화되어 있습니다. 웹에서 많은 예제를 찾을 수 있습니다.
별표와 비교되는 다른 솔루션은 Yate 및 FreeSwitch입니다. 별표에서
, 당신은 기본적으로 다음과 같습니다
이 스풀 디렉토리에
call file을 배치하여 통화를 시작
- .
- (기본적으로 스크립트 블록) 특별한 "확장"에 그 새로운 발신 통화 연결 :
이
예 dialplan을 스크립트 : 또는
[specialstuff]
exten => s,1,Wait(1) ; wait a second before playback
exten => s,2,Playback(yourfile.wav) ; play your file
exten => s,3,AGI(yourscript.pl) ; run your script with AGI interface
; in "yourscript.pl" you can wait for/receive DTMF and react on it
, 당신은 완전히 DTMF 물건을 구현할 수 있습니다 별표로 이를 IVR (대화 형 음성 응답)이라고합니다. 웹에 많은 예제가 있습니다.
[specialstuff]
exten => s,1,Wait(1) ; wait a second before playback
exten => s,2,Playback(yourfile.wav) ; play your file
exten => s,3,WaitExten(10) ; wait 10 seconds for DTMF input
exten => 1,1,System(/your/script.pl one) ; callee pressed DTMF 1
exten => 1,2,Playback(thanks) ; give feedback
exten => 2,1,System(/your/script.pl two) ; callee pressed DTMF 2
exten => 2,2,Playback(goodbye) ; give feedback
exten => 3,1,System(/your/script.pl three) ; callee pressed DTMF 3
exten => 3,2,Playback(something) ; give feedback
sipP를 사용해 보셨나요? 아마 이것은 당신을 위해 작동 할 것입니다. http://sipp.sourceforge.net/doc/reference.html – rpg