wireshark-dev August 2010 archive
Main Archive Page > Month Archives  > wireshark-dev archives
wireshark-dev: Re: [Wireshark-dev] Dissection of LTE-RRC

Re: [Wireshark-dev] Dissection of LTE-RRC

From: Reinhard Speyerer <rspmn_at_nospam>
Date: Tue Aug 31 2010 - 21:17:16 GMT
To: Developer support list for Wireshark <wireshark-dev@wireshark.org>

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