Freeswitch-mod python: Difference between revisions

From 탱이의 잡동사니
Jump to navigation Jump to search
(Created page with "== Overview == Freeswitch python 모듈 내용 정리 category:freeswitch")
 
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Overview ==
== Overview ==
Freeswitch python 모듈 내용 정리
Freeswitch python 모듈 내용 정리
== hanging call ==
freeswitch-1.4.7~64bit 버전에서 freeswitch python 모듈을 사용할 경우, 주의해야 할 사항이 있다. 꽤 오래된 버전에서 확인된 문제여서 최신 버전에서는 수정이 되었을 수도 있지만, 확실하게 확인할 수는 없었다.
session.setHangupHook() 메소드를 사용할 경우, 스크립트 종료 전 반드시, session.destroy() 메소드를 호출해야만 한다. 그렇지 않으면 아래의 로그를 남기면서 정상적인 콜 종료가 되지 않는다.
Lock 이 걸리는 것은 정상이지만, 문제는 Lock 이 풀리지 않는다. 때문에 hanging call 이 생기는 것이다.
<pre>
...
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
...
</pre>
아래와 같이 종료되면 문제가 발생한다.
<source lang=python>
    ...
    session.setHangupHook(lvm.remotehangup)
    return
</source>
반드시 아래와 같이 종료가 session.destroy() 가 호출된 후에 스크립트가 종료 되어야 한다.
<source lang=python>
    ...
    session.setHangupHook(lvm.remotehangup)
    session.destroy()
    return
</source>
== See also ==
* https://freeswitch.org/confluence/display/FREESWITCH/mod_python - freeswitch mod_python


[[category:freeswitch]]
[[category:freeswitch]]

Latest revision as of 11:49, 23 May 2017

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
...

아래와 같이 종료되면 문제가 발생한다. <source lang=python>

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

</source>

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

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

</source>

See also