Project

General

Profile

Feature #3508

Updated by neels over 5 years ago

When testing against a specific SCCPlite MSC, which sets up the MSC side of an MGW endpoint itself, I notice that it always returns Connection Identifiers in lower case. 
 When responding to a CRCX, osmo-mgw passes back a randomized connection ID in the "I: " header, to identify one connection of the given endpoint. 
 osmo-mgw always produces an upper-case hex digit stream, but this particular MSC always responds in lower-case hex digits when it sends a DLCX to clean up after an earlier CRCX. 

 For example, a CRCX is responded upon with 'I: 4E815C51'. 
 Later, the MSC sends a DLCX with 'I: 4e815c51'. 
 osmo-mgw then rejects the DLCX, saying that it cannot find a matching ID, simply due to the case mismatch. 

 At least for this particular MSC client, osmo-mgw should match the lower-case ID against its own upper-case ID. 

 MGCP being a string based protocol, one might expect the clients to store these IDs as strings, 1:1 returning whatever they received earlier. 
 The question is whether the hexadecimal nature is part of the MGCP specification -- if yes, we may always compare case-insensitively. 
 If not, we need to make osmo-mgw's case sensitivity configurable. 

 Also check whether the spec defines the hex characters to be lower or upper case, if at all. 
 (We could make osmo-mgw produce lower case hex IDs as a cheap alternative fix for this particular MSC.)

Back

Add picture from clipboard (Maximum size: 48.8 MB)