ROHC should definitely be in a separate file, which I hadn't got around to doing.  My code was mostly written around 3 years ago, but to be honest hasn't been used much.
My implementation needs a few hints to decode the ROHC frame. Here are the ROHC fields in packet-pdcp-lte.h - they are what my company's decoder needs to have supplied to it.
|     /* RoHC settings */
 | 
| 83 | 
    gboolean           rohc_compression;
 | 
| 84 | 
    unsigned short     rohc_ip_version;
 | 
| 85 | 
    gboolean           cid_inclusion_info;
 | 
| 86 | 
    gboolean           large_cid_present;
 | 
| 87 | 
    enum rohc_mode     mode;
 | 
| 88 | 
    gboolean           rnd;
 | 
| 89 | 
    gboolean           udp_checkum_present;
 | 
| 90 | 
    unsigned short     profile; | 
From a very quick look, I see that your implementation is hard-wired to RTP/IPv4, and comments about maybe using preferences or conversation info to work out other fields.  My preference would be to attach info similar to the above, and let each user fill it in as they can (leaving the possibility to override with preferences).
My very next task happens to be to configure LTE PDCP, RLC and MAC with info found in RRC, and some of these fields can be given then, whereas others are the internal state of the contexts, which is hard to know (without doing a full ROHC simulation!)...
It'd be good to merge them into one standalone dissector that I could then call from PDCP (LTE and UMTS sometime).  I noticed for example that you don't decode all of the feedback options, so maybe my implementation could help speed up the adding of some of these.
There is a screenshot of my decoder in 
http://wiki.wireshark.org/PDCP-LTE, but I expect I could send you a trace file later on.
Best regards,
Martin