Freeswitch-mod python

From 탱이의 잡동사니
Jump to: navigation, search

Overview

Freeswitch python 모듈 내용 정리

hanging call

freeswitch-1.4.7~64bit 버전에서 freeswitch python 모듈을 사용할 경우, 주의해야 할 사항이 있다. 꽤 오래된 버전에서 확인된 문제여서 최신 버전에서는 수정이 되었을 수도 있지만, 확실하게 확인할 수는 없었다.

session.setHangupHook() 메소드를 사용할 경우, 스크립트 종료 전 반드시, session.destroy() 메소드를 호출해야만 한다. 그렇지 않으면 아래의 로그를 남기면서 정상적인 콜 종료가 되지 않는다.

Lock 이 걸리는 것은 정상이지만, 문제는 Lock 이 풀리지 않는다. 때문에 hanging call 이 생기는 것이다.

...
a0782e56-3aca-4648-8979-03b207e9eb1a 2017-05-19 15:02:54.267752 [DEBUG] switch_core_session.c:1614 Session 9710 (sofia/internal/501@192.168.49.68) Locked, Waiting on external entities
...

아래와 같이 종료되면 문제가 발생한다.

    ...
    session.setHangupHook(lvm.remotehangup)
    return

반드시 아래와 같이 종료가 session.destroy() 가 호출된 후에 스크립트가 종료 되어야 한다.

    ...
    session.setHangupHook(lvm.remotehangup)
    session.destroy()
    return

See also