오늘 다시 현상을 분석했다.

결과는 다음과 같았다.

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에서 도동작한다는 보장이 없다는 것이었다.

이 문제를 어떻게 풀어야 할지 좀 걱정이 된다.

 

Tags: , ,

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.