freepbx에서 Asterisk IVR을 프로그래밍하면 직원이 전화를 끊을 때 프로그램 문제가 계속 발생합니다.

freepbx에서 Asterisk IVR을 프로그래밍하면 직원이 전화를 끊을 때 프로그램 문제가 계속 발생합니다.

IVR 관련 문제를 해결하려고 노력하고 있으며, 평가 목적으로 직원이 전화를 끊을 때 통화를 계속하는 방법을 알아내려고 노력하고 있습니다.

훌륭한...

나는 queue 명령이 몇 가지 특정 옵션을 사용하여 이 작업을 수행할 수 있다는 것을 알았습니다. 문제는 queue 명령이 별표를 깨기 위해 CPU의 100%를 사용한다는 것입니다... (따라서 queue 명령은 전혀 작동하지 않습니다)

이 작업 코드를 바꾸면:

exten => 1235,n,Goto(ext-queues,2026,1)

그래서:

exten => 1235,n,queue(2026,c)

대기열은 괜찮아 보이고 음악이 재생되기 시작하지만 전화벨이 울리지 않고 CPU가 100% 제동 별표 상태가 됩니다.

FreePBX 포럼에서 새 FreePBX 버전의 FreePBX 컨텍스트에서는 내가 하고 싶은 작업이 불가능하다는 피드백을 받았습니다. 이 컨텍스트를 벗어나거나 일종의 다운그레이드를 수행하거나 이 문제를 해결하기 위해 일부 포함된 스크립트를 편집하려면 어떻게 해야 합니까? ?

대기열 명령을 사용하거나 직원이 전화를 끊고 별표 프로그램이 계속될 때까지 프로그램을 계속 진행하려면 어떤 다른 옵션이 있어야 합니까?

답변1

오랜 연구 끝에 해결 방법을 찾았습니다.

스크립트 만들기/usr/local/bin/freepbx_fix_queue_members.sh다음 줄을 사용하세요.

#!/bin/bash
cp /etc/asterisk/queues_additional.conf /etc/asterisk/queues_additional.conf-freepbx
sed 's/member=Local\/\([0-9a-zA-Z_]*\).*,\(.*\)/member=SIP\/\1,\2/' </etc/asterisk/queues_additional.conf-freepbx >/etc/asterisk/queues_additional.conf
asterisk -rx "reload"

실행 권한을 부여합니다.

chmod +x /usr/local/bin/freepbx_fix_queue_members.sh

/etc/amportal.conf에서 POST_RELOAD 매개변수를 변경하여 새 스크립트를 로드합니다.

# POST_RELOAD Script
# Default Value:
POST_RELOAD=/usr/local/bin/freepbx_fix_queue_members.sh

ASTERISK를 다시 시작하고 처음으로 스크립트를 실행하십시오.

/usr/local/bin/freepbx_fix_queue_members.sh

이제 대기열 명령이 작동합니다!

이제 사용자 정의 코드에서 대기열 c 옵션을 사용하여 직원이 전화를 끊은 후에도 스크립트 실행을 계속할 수 있습니다.

exten => 1235,n,queue(2026,c)
exten => 1235,n,goto(evaluation)

관련 정보