Wireshark mailing list archives

Re: Dissection of LTE-RRC


From: Reinhard Speyerer <rspmn () arcor de>
Date: Tue, 31 Aug 2010 23:17:16 +0200

On 08/31/10 09:38, Vishal Kumar Singh wrote:
[...]
Please, suggest me a suitable method to this. Can i select based on
message type to differentiate UL CCCH, UL DCCH, DL CCCH messages? Or, is
there any other method to differentiate the messages?


Hi Vishal,

using Lua this is possible by prefixing each message with e.g. a single byte message
type and calling the appropriate dissector based on the message type like this:

do
  rlsmon_proto = Proto("rlsmon","rlsmon","rlsmon Protocol")
  function rlsmon_proto.init()
    local function rrcdissector(name)
      local disname = string.gsub(string.lower(name), "[ -]", ".")
      return { protocol = name, dissector = Dissector.get(disname) }
    end
    rlsmon = {
      [0]  = rrcdissector("RRC DL-DCCH"),
      [1]  = rrcdissector("RRC UL-DCCH"),
      [2]  = rrcdissector("RRC DL-CCCH"),
      [3]  = rrcdissector("RRC UL-CCCH"),
    }
  end
  function rlsmon_proto.dissector(buffer,pinfo,tree)
    local msgtype = buffer(0,1):uint()
    local payload = buffer(1):tvb()
    pinfo.cols.protocol = rlsmon[msgtype].protocol
    rlsmon[msgtype].dissector:call(payload,pinfo,tree)
  end
  local wtap_encap_table = DissectorTable.get("wtap_encap")
  wtap_encap_table:add(wtap.USER1, rlsmon_proto)
end

A similar scheme should also be applicaple for your LTE RRC case.

Regards,
Reinhard
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org?subject=unsubscribe


Current thread: