I do a similar task with PPP data (I think). Treat it the 
same as the data_handle used in your file.
 
There are only three lines needed:
 
Global:
    static dissector_handle_t 
ppp_handle=NULL;
in proto_register_xxx()
    ppp_handle = 
find_dissector("ppp");
Once you have determined the data segment to 
pass:
    call_dissector(ppp_handle, next_tvb, 
pinfo, tree);
 
Matt
I'm not sure if using this email address to ask for help is frowned 
upon, but I'll give it a shot. 
In epan/dissectors, the three files I'm 
working on are packet-fr.c, packet-osi.c and packet-lapd.c. The frame relay 
dissector hands off information to the osi dissector, and my goal is to mimick 
this behavior for lapd. That is, I want lapd to also hand off information to the 
osi dissector. 
Most of what I have done is searched the frame relay file 
for any reference to "osi," and copied it to lapd, and changing like fr_osi to 
lapd_osi, etc. I've attached the c file.
I just can't seem to get this to 
work. Is there any advice you can give me to make this happen? I've already read 
the development guide, dissector readme, etc.
Thanks in advance for any 
help offered!
-Jeremy Duff