public string GetUnknownHeaderValue(string unknownHeaderName)
{
if (unknownHeaderName.IsNullOrBlank())
{
return null;
}
else if (UnknownHeaders == null || UnknownHeaders.Count == 0)
{
return null;
}
else
{
foreach (string unknonwHeader in UnknownHeaders)
{
string trimmedHeader = unknonwHeader.Trim();
int delimiterIndex = trimmedHeader.IndexOf(SIPConstants.HEADER_DELIMITER_CHAR);
if (delimiterIndex == -1)
{
logger.Warn("Invalid SIP header, ignoring, " + unknonwHeader + ".");
continue;
}
string headerName = trimmedHeader.Substring(0, delimiterIndex).Trim();
if (headerName.ToLower() == unknownHeaderName.ToLower())
{
return trimmedHeader.Substring(delimiterIndex + 1).Trim();
}
}
return null;
}
}