ExtenSpy

mihpel

Joined
May 8, 2007
Messages
87
Likes
0
Points
0
#1
Hi all

Does anybody have any experience regarding the implementation of ExtenSpy

I have found several references :

http://www.panoramisk.com/64/real-time-call-listening/en/
http://forums.digium.com/viewtopic.php?p=121974&sid=34e94cf34389fa7ab2e47c05d684ae32
http://www.trixbox.org/forums/trixbox-forums/help/extenspy-permanent-configuration

but thought a question here would not hurt anybody , right ?


So any advice anybody ?

Thx in advance!

Edit:

would something like this work :

include => app-chanspy-custom
exten => _*111x.#,1,Macro(user-callerid,)
exten => _*111x.#,n,Answer
exten => _*111x.#,n,NoCDR
exten => _*111x.#,n,Wait(1)
exten => _*111x.#,n,ChanSpy(sip/${EXTEN:4},q)
exten => _*111x.#,n,Hangup
and how can i co mix the ability to whisper ?
Should another context handle that ?
like:

include => app-chanspy-custom-whisper
exten => _*112x.#,1,Macro(user-callerid,)
exten => _*112x.#,n,Answer
exten => _*112x.#,n,NoCDR
exten => _*112x.#,n,Wait(1)
exten => _*112x.#,n,ChanSpy(sip/${EXTEN:4},w)
exten => _*112x.#,n,Hangup

Or is ExtenSpy mandatory for the ability to select a specific extention and be able to whisper to it ?

Thanks again !
 

Megabyte

Joined
Mar 28, 2009
Messages
327
Likes
0
Points
0
#2
Use this to chanspy depending your extension technologic.

Put it in extension_custom.conf

[chanspy]

exten => 2500,1,Answer
exten => 2500,n,Wait(1)
exten => 2500,n,ChanSpy(SIP)
exten => 2500,n,Hangup

exten => 2501,1,Answer
exten => 2501,n,Wait(1)
exten => 2501,n,ChanSpy(ZAP)
exten => 2501,n,Hangup

exten => 2502,1,Answer
exten => 2502,n,Wait(1)
exten => 2502,n,ChanSpy(AGENT)
exten => 2502,n,Hangup

After that press the number of the extension you want to spy and the "#" and done. # ej: 2525#
 

mihpel

Joined
May 8, 2007
Messages
87
Likes
0
Points
0
#3
So you have one entry for each extension?

What about larger implementations ?

How are you handling "whisper" ?

Do you have this working ?
 

Megabyte

Joined
Mar 28, 2009
Messages
327
Likes
0
Points
0
#4
NOpe its not for every extension bro, its one for technology, i mean one for all SIP (exten => 2500,1,Answer), exten => 2501,n,ChanSpy(ZAP) for Zap Channels and
exten => 2502,n,ChanSpy(AGENT)for an agent.

You got it?

I mean if you want to listen on sip channel dial 2500 and later extension number+#
if you want to listen on ZAP channel dial 2501 and later extension number+#


etc
 

mihpel

Joined
May 8, 2007
Messages
87
Likes
0
Points
0
#5
Ok i get it now !

If you care to elaborate a bit further on this .....

From application ChanSpy Description i see that

If the 'chanprefix' parameter is specified,
only channels beginning with this string will be spied upon.
which leads me to the conclusion that if 'chanprefix' is not set then any channel type can be spied upon regardless if it's sip, zap, agent, iax etc. . Is this correct ?

Also from the entry

- Dialing a series of digits followed by # builds a channel name to append
to 'chanprefix'. For example, executing ChanSpy(Agent) and then dialing
the digits '1234#' while spying will begin spying on the channel
'Agent/1234'.
Which again leads me to conclude that regardless if 'chanprefix' is set you can always jump to the desired channel after initiating ChanSpy.
Also through this approach you have to start spying on a random channel before jumping to the desired one by entering xxxx# which is not optimal if you know what channel you want to spy on.

If my assumptions are correct this is feasible but already coded in extensions_additional.conf .

[app-chanspy]
include => app-chanspy-custom
exten => 555,1,Macro(user-callerid,)
exten => 555,n,Answer
exten => 555,n,Wait(1)
exten => 555,n,ChanSpy()
exten => 555,n,Hangup

; end of [app-chanspy]
Also there is no prediction for whisper which is the main reason i am looking into this .



If my above assumptions are not correct, ( i would really be grateful if someone took the time to share his wisdom! ) would modifying your approach as below, do the trick for purely directed chanspy with whisper?

[chanspy]

exten => _2500X.#,1,Macro(user-callerid,)
exten => _2500X.#,n,Answer
exten => _2500X.#,n,Wait(1)
exten => _2500X.#,n,ChanSpy(SIP/${EXTEN:4},w)
exten => _2500X.#,n,Hangup

exten => _2501X.#,1,Macro(user-callerid,)
exten => _2501X.#,n,Answer
exten => _2501X.#,n,Wait(1)
exten => _2501X.#,n,ChanSpy(ZAP/${EXTEN:4},w)
exten => _2501X.#,n,Hangup

exten => _2502X.#,1,Macro(user-callerid,)
exten => _2502X.#,n,Answer
exten => _2502X.#,n,Wait(1)
exten => _2502X.#,n,ChanSpy(AGENT/${EXTEN:4},w)
exten => _2502X.#,n,Hangup
Then again if my assumptions are correct what would be the correct syntax to pass the 'w' whisper option without having to use 'chanprefix'?


Many thanks for your time and sorry for the long post!
 

mihpel

Joined
May 8, 2007
Messages
87
Likes
0
Points
0
#6
One more think !

Theoretically :

exten => _2500x.,1,Macro(user-callerid,)
exten => _2500x.,n,Answer
exten => _2500x.,n,NoCDR
exten => _2500x.,n,Wait(1)
exten => _2500x.,n,ExtenSpy(${EXTEN:4},w)
exten => _2500x.,n,Hangup
would achieve a directed extension spy with whisper enabled regardless of channel type.

Is that correct ?
 

Members online

Latest posts

Forum statistics

Threads
30,918
Messages
130,924
Members
17,601
Latest member
andrebr
Top