Author Topic: Ciphering Mode Command message structure  (Read 6291 times)

brian_sp2

  • Newbie
  • *
  • Posts: 5
    • View Profile
Ciphering Mode Command message structure
« on: November 06, 2018, 06:45:59 AM »
I'm sent Authenticate Request message from BTS to MS manually by implementing this part of my own class in source:

Code: [Select]
    const char* keySeq = "0";
const char* rand = "00112233445566778899AABBCCDDEEFF";

XmlElement* rrm = new XmlElement("MM");
    XmlElement* ch =  new XmlElement("Message");
    ch->setAttribute("type","AuthenticationRequest");
    ch->addChildSafe(new XmlElement("CKSN", keySeq));
    ch->addChildSafe(new XmlElement("rand", rand));
    rrm->addChildSafe(ch);
    conn->sendL3(rrm);

So, the following XML will be generated and will be sent to the MS:

Code: [Select]
<MM>
  <Message type="AuthenticationRequest">
    <CKSN>0</CKSN>
    <rand>00112233445566778899AABBCCDDEEFF</rand>
  </Message>
</MM>

Which this was already implemented in YateBTS source code, in YBTSMM::handleLocationUpdate class.

I'm wondering how is Ciphering Mode Command is structured in XML to initiate ciphering between BTS - MS?
Should it be like:

Code: [Select]
<MM>
  <Message type="StartCiphering">
    <CKSN>0</CKSN>
    <rand>00112233445566778899AABBCCDDEEFF</rand>
  </Message>
</MM>

Can someone please create a log and see if they have such XML transferred in their network?
I need to know how to create Ciphering Mode Command message structure in XML.