2014-12-24 5 views
0

나는 Asterisk에서 선제 공격을하고 싶습니다.별표 (*)와 채널의 발신자

    :이 단계에서 Asterisk - Pre-emption calls

    그래서 난 데 문제 : 나는 일이 스레드에서 보여처럼이를 닮아 알고리즘 다음 그것을 구현하기 위해 노력하고있어 그래서이 기능에 대한 별표 지원이없는 생각

  • 낮은 우선 순위 호출자 (ASTDB 또는 REALTIME 또는 fastagi 스크립트)와 통화중인 B가 있는지 확인하십시오.

B가 예를 들어 DEVICE_STATE (device) cmd를 사용하여 통화 중인지 확인하는 방법을 알고 있지만 우선 순위를보기 위해 다른 발신자가 누구인지 알 수 없습니다.

따라서 한 명의 사용자가 통화 중이며이 통화 중에 다른 발신자가 누구인지 어떻게 알 수 있습니까?

고마워요.

답변

0

먼저

SHARED(varname[,channel]) 
    -= Info about function 'SHARED' =- 

[Synopsis] 
Gets or sets the shared variable specified. 

[Description] 
Implements a shared variable area, in which you may share variables between 
channels. 
The variables used in this space are separate from the general namespace 
of the channel and thus ${SHARED(foo)} and ${foo} represent two completely 
different variables, despite sharing the same name. 
Finally, realize that there is an inherent race between channels operating 
at the same time, fiddling with each others' internal variables, which is 
why this special variable namespace exists; it is to remind you that variables 
in the SHARED namespace may change at any time, without warning. You should 
therefore take special care to ensure that when using the SHARED namespace, 
you retrieve the variable and store it in a regular channel variable before 
using it in a set of calculations (or you might be surprised by the 
result). 

물론 사용자가 설정 한 변수를 사용하여 모든 채널의 변수를 읽을 수 있습니다. 인 통화 매크로를 사용하여 현재 통화 채널의 변수 또는 ASTDB 이름으로 설정할 수 있습니다.

원하는 모든 솔루션의 일반적인 복잡성은 평균 이상이므로 * 1 년 이상의 경험이 풍부한 사람이 필요합니다.

+0

기타 옵션 - FOP 패널처럼 모든 이벤트를 듣고 "기억하십시오" – arheops