Hi,
The network io intercept feature basically allows kamailio script writer to do whatever s/he may want to do with raw SIP packets (that are just received by kamailio or about to be sent out by kamailio), e.g. encryption, compression or any final touches to sip message before it is processed by kamailio core. That is why it is purposely kept abstract and any particular use or implementation is left to the script writer.
In your case the encryption / decryption code is in C/C++, you can try one of the followings,
1. Writeup a C/C++ program that receives outgoing SIP message as text (and some other parameters, e.g. encryption key) in input arguments and returns the encrypted message in event_route [ network:msg ] and vice versa (for incoming messages). You can call this program directly from kamailio.cfg script.
You can also use any other kamailio language bind of you choice as well, e.g. Python, LUA, JAVA and so on.
I would recommend the second option, as it has less processing overhead for kamailio.