I'm trying to use the kamcmd tml.tc_uac_start command to send raw SIP messages in Kamailio 5.5, but I always get a error: 400 - Invalid headers.  I've also tried sending OPTIONS messages with the same result.  I've looked for examples of sending SIP messages via kamcmd, but can't find any.

kamcmd help tm.t_uac_start specifies the following:

kamcmd> help tm.t_uac_start
starts a tm uac using  a list of string parameters: method, ruri, dst_uri, send_sock, headers (CRLF separated) and body (optional)

Essentially my problem is I don't really know how to properly encode these headers.  How do I send special characters? Do I need to use double quotes, single quotes, etc around the whole header? Which characters are special?  How do I encode the CRLF?  I tried \r\n, but I still get this error.  It says only From: and To: are required.  It's a bit hard trying to make progress when all I ever get is one error message.  The kamailio logs are a little more helpful, and largely point me down the road that it doesn't understand the CRLF encoding, and says my From: header includes the To: line, so it's not separating them.

For example, I'm trying things like this:

kamcmd -v tm.t_uac_start OPTIONS sip:200@exampleserver.com:5060 . . "From: <sip:example@192.168.0.1>;tag=d27ca05e-1789-4774-a698-dcfe91dec9b4\r\nTo: <sip:example@192.168.0.2>"\r\nExpires: 1200\r\nContent-Length: 0"

Nothing seems to work, so whatever the syntax I'm using must be wrong.

Just providing an example of sending SIP via  kamcmd tm.t_uac_start would likely help a huge amount.

Thanks!

--