This document was generated from CDN thread Created by: Marko Laurits on 03-11-2009 05:46:21 PM Hello,I am creating a customised web interface for users. The customised web interface communicates with Tandbergs over telnet API.User can initiate several simultaneous calls by using the web interface. That works ok.Now the user wants to disconnect one call via the same interface. If you press red button at IR remote, you see the list of participants and can choose which one to disconnect. The customised web interface should have similar possibilities. My idea is to use API command "mcustat" to see the list of participants and "mcucommand disconnect <mcuid, site>" to disconnect appropriate one. (In case there is only one call active, mcustat reveals it and it's ok). The problem is that "mcucommand disconnect" does not work at MXP. It works fine with Tandberg Classic products (the customer has mix of both devices in the network). Even using "xCommand SiteDisconnect" at MXP does not help. The result is OK but no call is disconnected. I have tried both F5.3 and F8.0.Is it intentional or should I report it as a bug by Support Website?Also related but not so important question: "mcucommand floor" works with F5 but not with new versions. Is it a bug or feature?Subject: RE: Disconnecting a multi-site call via API Replied by: Viggo Fredriksen on 04-11-2009 12:32:45 AMHi Marko,There seems to be a spelling error in the mcucommand help-text. I tried the following given mcuId=1 and terminalId=21mcucommand disconnect 1 2
and it seemed to work. I was, however, not able to use xCommand SiteDisconnect, so this is probably a bug.However, I'm wondering why you're using these commands? I guess mcucommand disconnect is intended to be used when you want to disconnect participants from a remote MCU. Otherwise I would just stick with:1xCommand DisconnectCall Call: <1..7>
The callId can be found using the old method: 1callstatus
2
3*S callstatus 1 outgoing h323 connected 255 777Sec
4*S callstatus 2 idle idle idle 255 161Sec
5*S callstatus 3 idle idle idle 255 0Sec
6*S callstatus 4 idle idle idle 255 0Sec
7*S callstatus 5 idle idle idle 255 0Sec
8*S callstatus 6 idle idle idle 255 0Sec
9*S callstatus 7 idle idle idle 255 0Sec
or the newer method: 1 2xstatus Call
3 4*s Call 1 (status=Synced, type=Vtlph, protocol=H323, direction=Outgoing, logTag=1):
5 CallRate: 768
6 RemoteNumber: "xxx@foo.org" 7 Mute: Off
8 Microphone: On
9 Duration: 664
10 MuteOutgoing: Off
11 CallOnHold: False
12 RemoteSiteOnHold: False
13 MultiwayProgress: Off
14 Channels 1 (type=Incoming):
15 Rate: 768
16 Restrict: Off
17 IPLR: Off
18 Encryption (status=Off): /
19 Audio (status=Active):
20 Protocol: AAC-LD
21 Rate: 64
22 Video 1 (status=Active):
23 Protocol: H264
24 Resolution: w576p
25 Rate: 704
26 Video 2 (status=Inactive): /
27 Data (status=Inactive): /
28 Channels 2 (type=Outgoing):
29 Rate: 768
30 Restrict: Off
31 IPLR: Off
32 Encryption (status=Off): /
33 Audio (status=Active):
34 Protocol: AAC-LD
35 Rate: 64
36 Video 1 (status=Active):
37 Protocol: H264
38 Resolution: 448p
39 Rate: 704
40 Video 2 (status=Inactive): /
41 Data (status=Inactive): /
42*s/end
4344*s Call 2 (status=Disconnected, type=NA, protocol=NA, direction=NA, logTag=NA):
45 Cause: 16
46*s/end
4748[snip]
4950OK
Regards, ViggoSubject: RE: Disconnecting a multi-site call via API Replied by: Marko Laurits on 04-11-2009 01:10:08 PMHi Viggo,1mcucommand disconnect 1 2
Thanks, I tried now this as well, with F8 and F5. Unfortunately, it does not work as expected.'mcucommand disconnect 1 2' gives the same result as 'mcucommand disconnect 2' and as 'disc 2'.For, example, if you make one call to Paris and second call to London then mcustat shows:mcustat terminals 1,2 Parismcustat terminals 1,3 LondonWhen you execute 'mcucommand disconnect 1 2' then London is disconnected because it's the second call.However, I'm wondering why you're using these commands? would just stick with:
1xCommand DisconnectCall Call: <1..7>
The callId can be found using the old method:
1callstatus
2*S callstatus 1 outgoing h323 connected 255 777Sec
3*S callstatus 2 idle idle idle 255 161Sec
4...
or the newer method:
12xstatus Call
34*s Call 1 (status=Synced, type=Vtlph, protocol=H323, direction=Outgoing, logTag=1):
5 CallRate: 768
6 RemoteNumber: "xxx@foo.org"7...
The reason is that neither command gives participant list as a feedback. An user behind web browser wants to choose, which participant to disconnect. 'Callstatus' says nothing about participants. The calls are initiated to IP-addresses. Therefore 'xStatus Call' shows IP-address of the participant. So the user would need to choose between IP-addresses which participant to disconnect.Currently only solution for MXP seems to be using 'xStat Conference'. The result shows both: H.323 ID and call number. After extracting this data from the result, 'disc <call number>' can be executed. If 'mcucommand disconnect' worked as expected, the script would become much simpler.Subject: RE: Disconnecting a multi-site call via API Replied by: Roger Boe on 04-11-2009 01:32:58 PMHi MarkoMarko Laurits:
Hi Viggo,
For, example, if you make one call to Paris and second call to London then mcustat shows:
mcustat terminals 1,2 Paris
mcustat terminals 1,3 London
You shouldn't use these commands to accomplish this. These commands give the results from H.243 chaircontrol and 1.2 means MCU 1, terminal 2. Some MCUs supporting chaircontrol can use these commands to actually disconnects sites from the MCU itself (even external MCUs). When you want to have full control of the local calls initiated from the MXP you should use the other commands explained by Viggo.The MXP has limited H.243 chair control implemented for the internal MCU and I don't believe the MCU disconnect commands was ever designed to work for the internal MCU.CheersRoger