mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-15 12:44:58 +00:00
fix: Updated misaligned indixies in UpdateCallStatusXSig
This commit is contained in:
@@ -1372,67 +1372,66 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private string UpdateCallStatusXSig()
|
private string UpdateCallStatusXSig()
|
||||||
{
|
{
|
||||||
const int maxCalls = 8;
|
const int maxCalls = 8;
|
||||||
const int maxStrings = 6;
|
const int maxStrings = 6;
|
||||||
const int maxDigitals = 2;
|
const int maxDigitals = 2;
|
||||||
const int offset = maxStrings + maxDigitals;
|
const int offset = maxStrings + maxDigitals;
|
||||||
var stringIndex = 0;
|
var stringIndex = 0;
|
||||||
var digitalIndex = maxStrings * maxCalls;
|
var digitalIndex = maxStrings * maxCalls;
|
||||||
var arrayIndex = 0;
|
var arrayIndex = 0;
|
||||||
|
|
||||||
var tokenArray = new XSigToken[maxCalls * offset]; //set array size for number of calls * pieces of info
|
var tokenArray = new XSigToken[maxCalls * offset]; //set array size for number of calls * pieces of info
|
||||||
|
|
||||||
foreach (var call in ActiveCalls)
|
foreach (var call in ActiveCalls)
|
||||||
{
|
{
|
||||||
if (arrayIndex >= maxCalls * offset)
|
if (arrayIndex >= maxCalls * offset)
|
||||||
break;
|
break;
|
||||||
//digitals
|
//digitals
|
||||||
tokenArray[digitalIndex] = new XSigDigitalToken(digitalIndex + 1, call.IsActiveCall);
|
tokenArray[digitalIndex] = new XSigDigitalToken(digitalIndex + 1, call.IsActiveCall);
|
||||||
tokenArray[digitalIndex + 1] = new XSigDigitalToken(digitalIndex + 2, call.IsOnHold);
|
tokenArray[digitalIndex + 1] = new XSigDigitalToken(digitalIndex + 2, call.IsOnHold);
|
||||||
|
|
||||||
//serials
|
//serials
|
||||||
tokenArray[arrayIndex + 1] = new XSigSerialToken(stringIndex + 1, call.Name ?? String.Empty);
|
tokenArray[arrayIndex] = new XSigSerialToken(stringIndex + 1, call.Name ?? String.Empty);
|
||||||
tokenArray[arrayIndex + 2] = new XSigSerialToken(stringIndex + 2, call.Number ?? String.Empty);
|
tokenArray[arrayIndex + 1] = new XSigSerialToken(stringIndex + 2, call.Number ?? String.Empty);
|
||||||
tokenArray[arrayIndex + 3] = new XSigSerialToken(stringIndex + 3, call.Direction.ToString());
|
tokenArray[arrayIndex + 2] = new XSigSerialToken(stringIndex + 3, call.Direction.ToString());
|
||||||
tokenArray[arrayIndex + 4] = new XSigSerialToken(stringIndex + 4, call.Type.ToString());
|
tokenArray[arrayIndex + 3] = new XSigSerialToken(stringIndex + 4, call.Type.ToString());
|
||||||
tokenArray[arrayIndex + 5] = new XSigSerialToken(stringIndex + 5, call.Status.ToString());
|
tokenArray[arrayIndex + 4] = new XSigSerialToken(stringIndex + 5, call.Status.ToString());
|
||||||
if(call.Duration != null)
|
if (call.Duration != null)
|
||||||
{
|
{
|
||||||
// May need to verify correct string format here
|
// May need to verify correct string format here
|
||||||
var dur = string.Format("{0:c}", call.Duration);
|
var dur = string.Format("{0:c}", call.Duration);
|
||||||
tokenArray[arrayIndex + 6] = new XSigSerialToken(stringIndex + 6, dur);
|
tokenArray[arrayIndex + 5] = new XSigSerialToken(stringIndex + 6, dur);
|
||||||
}
|
}
|
||||||
|
|
||||||
arrayIndex += offset;
|
arrayIndex += offset;
|
||||||
stringIndex += maxStrings;
|
stringIndex += maxStrings;
|
||||||
digitalIndex++;
|
digitalIndex++;
|
||||||
}
|
}
|
||||||
while (digitalIndex < maxCalls)
|
while (digitalIndex < maxCalls)
|
||||||
{
|
{
|
||||||
//digitals
|
//digitals
|
||||||
tokenArray[digitalIndex] = new XSigDigitalToken(digitalIndex + 1, false);
|
tokenArray[digitalIndex] = new XSigDigitalToken(digitalIndex + 1, false);
|
||||||
tokenArray[digitalIndex + 1] = new XSigDigitalToken(digitalIndex + 2, false);
|
tokenArray[digitalIndex + 1] = new XSigDigitalToken(digitalIndex + 2, false);
|
||||||
|
|
||||||
|
|
||||||
//serials
|
//serials
|
||||||
tokenArray[arrayIndex + 1] = new XSigSerialToken(stringIndex + 1, String.Empty);
|
tokenArray[arrayIndex] = new XSigSerialToken(stringIndex + 1, String.Empty);
|
||||||
tokenArray[arrayIndex + 2] = new XSigSerialToken(stringIndex + 2, String.Empty);
|
tokenArray[arrayIndex + 1] = new XSigSerialToken(stringIndex + 2, String.Empty);
|
||||||
tokenArray[arrayIndex + 3] = new XSigSerialToken(stringIndex + 3, String.Empty);
|
tokenArray[arrayIndex + 2] = new XSigSerialToken(stringIndex + 3, String.Empty);
|
||||||
tokenArray[arrayIndex + 4] = new XSigSerialToken(stringIndex + 4, String.Empty);
|
tokenArray[arrayIndex + 3] = new XSigSerialToken(stringIndex + 4, String.Empty);
|
||||||
tokenArray[arrayIndex + 5] = new XSigSerialToken(stringIndex + 5, String.Empty);
|
tokenArray[arrayIndex + 4] = new XSigSerialToken(stringIndex + 5, String.Empty);
|
||||||
tokenArray[arrayIndex + 6] = new XSigSerialToken(stringIndex + 6, String.Empty);
|
tokenArray[arrayIndex + 5] = new XSigSerialToken(stringIndex + 6, String.Empty);
|
||||||
|
|
||||||
arrayIndex += offset;
|
arrayIndex += offset;
|
||||||
stringIndex += maxStrings;
|
stringIndex += maxStrings;
|
||||||
digitalIndex++;
|
digitalIndex++;
|
||||||
}
|
}
|
||||||
|
|
||||||
return GetXSigString(tokenArray);
|
return GetXSigString(tokenArray);
|
||||||
}
|
}
|
||||||
|
private void LinkVideoCodecDtmfToApi(BasicTriList trilist, VideoCodecControllerJoinMap joinMap)
|
||||||
private void LinkVideoCodecDtmfToApi(BasicTriList trilist, VideoCodecControllerJoinMap joinMap)
|
|
||||||
{
|
{
|
||||||
trilist.SetSigFalseAction(joinMap.Dtmf0.JoinNumber, () => SendDtmfAction("0", trilist, joinMap));
|
trilist.SetSigFalseAction(joinMap.Dtmf0.JoinNumber, () => SendDtmfAction("0", trilist, joinMap));
|
||||||
trilist.SetSigFalseAction(joinMap.Dtmf1.JoinNumber, () => SendDtmfAction("1", trilist, joinMap));
|
trilist.SetSigFalseAction(joinMap.Dtmf1.JoinNumber, () => SendDtmfAction("1", trilist, joinMap));
|
||||||
|
|||||||
Reference in New Issue
Block a user