드디어, 어제 저녁 첫콜을 통과시켰다. 예쓰!!!!!!!!!!!!!!!! 🙂
이제 결과 데이터 정리 후, 하나씩 진행하면 되겠다. 🙂
드디어, 어제 저녁 첫콜을 통과시켰다. 예쓰!!!!!!!!!!!!!!!! 🙂
이제 결과 데이터 정리 후, 하나씩 진행하면 되겠다. 🙂
계속 transfer 단계에서 진행이 안되고 있다.
문제는 Redirect 이후, 결과를 작성할 때, 상담원 transfer 결과를 도출하기가 까다롭다는 것.
상담원이 응대를 했는지 안했는지에 대한 결과를 어떻게 알아내야 할지.. 흐음…
쉬운 것 같은데.. 은근히 까다로운 면이 있다.
오늘 다시 현상을 분석했다.
결과는 다음과 같았다.
Asterisk-1.8, channel redirect – OK
Asterisk-13.2, channel redirect – NO
즉, 1.8 버전에서는 되는데, 13.2 버전에서는 안되는 것이었다.
SVN 에서 최신의 소스를 받아서 무슨일이 있었는지 비교해 보았다.
엄청난 차이가 있었다.
한가지 의심스러운 부분이 있었는데…
if (chan2->pbx) {
ast_set_flag(chan2, AST_FLAG_BRIDGE_HANGUP_DONT); /* don’t let the after-bridge code run the h-exten */
}
최신의 소스에서는 위의 부분이 삭제되어 있었던 것. 옵션만봐서는 Bridge 후에 채널을 끊지 않도록 하는 라인 같았다.
해당 부분과 옵션에 대한 Define 만 넣고 다시 컴파일을 한 후 테스트를 해보았으나, 실패. 단순한 소스 수정이 아닌것 같았다.
변경 이력은 다음과 같았다.
Merge in the bridge_construction branch to make the system use the Bridging API.
Breaks many things until they can be reworked. A partial list:
chan_agent
chan_dahdi, chan_misdn, chan_iax2 native bridging
아마도 각각 사용하던 Bridge 설정을 모듈 설정을 따라가도록 수정한 것 같았다.
직장 동료들에게 물어보니 1.8 과 13.2 버전에는 엄청난 차이가 있어서 1.8에서 동작한다고 해서 13.2에서 도동작한다는 보장이 없다는 것이었다.
이 문제를 어떻게 풀어야 할지 좀 걱정이 된다.
채널 redirect 이 안되는 문제가 발생했다.
문제 없이 당연히 되리라고 생각했는데, 생각만큼 되지는 않는 것 같다.
무엇이 문제일까?
IRC에 물어봐도 딱히 답을 얻지는 못했다.
느낌상 고생좀 할 것 같다.
일주일 전, 한가지 풀리지 않는 문제가 있었다.
바로 Call transfer 에 관한 문제였다.
일단 parking 된 channel 을 Transfer 하고 싶은데, AMI 명령어 만으로는 해결이 안되는 것이었다.
물론 AMI 명령어로 Transfer 와 관련된 명령이 있긴했다.
blindtransfer
redirect
하지만 내가 원하는 것은 아니었다. 왜냐하면 위의 명령어들은 peer 로 transfer 를 하는 것이 아닌, context 의 extension 으로 transfer 를 하는 것이기 때문이다.
한참동안 고민을 하다가 Asterisk IRC 채널에 물어보고 답변을 들었다.
“Asterisk 는 그렇게 동작을 안해. 왜냐하면 그렇게 디자인 된 것이 아니거든. Transfer 를 하고자 한다면, 어느 순간에는 Dialplan 을 써야할 때가 올꺼야.”
그랬었다. 애초에 불가능한 것이었다.
그랬는데.. 그새 깜박했다.
왜냐하면.. 오늘 또 똑같은 질문을 했기 때문이다.
I thought it was clear a week ago when you asked the same thing and got the same answer’
하아.. 부끄러운 질문이었다.. ^^;;;;