t_uac_dlg command through mi_datagram socket gives 400 bad headers

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

t_uac_dlg command through mi_datagram socket gives 400 bad headers

Husnain Taseer
Hi Folks!

I am trying to generate a MESSAGE packet using t_uac_dlg command from a management script written in Python. I have tried different combination of argument string but either getting parsing error or 400 bad headers error. The string which I am sending to mi_datagram socket in my Python script is:

message = ''':t_uac_dlg:\nMESSAGE\[hidden email]\n.\n.\n"From: <[hidden email]>\\r\\nTo: <[hidden email]>\\r\\np-identifier: Local_Socket_V1.0\\r\\nContent-Type: text/plain\\r\\n"\n"Hi This is a Test Message"\n'''

When I print the above string it gives me the value given below:

:t_uac_dlg:
MESSAGE
.
.
"From: <[hidden email]>\r\nTo: <[hidden email]>\r\np-identifier: Local_Socket_V1.0\r\nContent-Type: text/plain\r\n"
"Hi This is a test"

When I send this string to mi_datagram socket it gives me 400 Bad headers Please guide where I am doing wrong.


Regards,
Husnain Taseer

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: t_uac_dlg command through mi_datagram socket gives 400 bad headers

Husnain Taseer
Hi,

I have got hint from ctd.sh script and modified my string as per the string being used in that script for INVITE. After modification I am getting error Content-Type missing. The string is now as follows:

message=""":t_uac_dlg:
MESSAGE
.
.
"From: <[hidden email]>\\r\\nTo: <[hidden email]>\\r\\nContent-Type: text/plain\\r\\np-identifier: Local_Socket_V1.0\\r\\n
"
"Hi
"
"""

​The debug logs for mi_datagram module are as follows:
Mar  6 16:01:53 VoIPDevSys opensips[26600]: DBG:mi_datagram:identify_command: the command starts here: t_uac_dlg:#012MESSAGE#<a href="http://012sip:212897645@192.168.1.20#012.#012.#012">012sip:212897645@192.168.1.20#012.#012.#012"
From: <[hidden email]>\r\nTo: <[hidden email]>\r\nContent-Type: text/plain\r\np-identifier: Local_Socket_V1.0\r\n#012"#012"Hi#012"
Mar  6 16:01:53 VoIPDevSys opensips[26600]: DBG:mi_datagram:identify_command: the command is t_uac_dlg
Mar  6 16:01:53 VoIPDevSys opensips[26600]: DBG:mi_datagram:identify_command: dtgram->len is 195
Mar  6 16:01:53 VoIPDevSys opensips[26600]: DBG:mi_datagram:identify_command: dtgram->len is 183
Mar  6 16:01:53 VoIPDevSys opensips[26600]: DBG:mi_datagram:mi_datagram_server: we have a valid command
Mar  6 16:01:53 VoIPDevSys opensips[26600]: DBG:mi_datagram:mi_datagram_server: after identifing the command, the received datagram is MESSAGE#<a href="http://012sip:212897645@192.168.1.20#012.#012.#012">012sip:212897645@192.168.1.20#012.#012.#012"From: <[hidden email]>\r\nTo: <[hidden email]>\r\nContent-Type: text/plain\r\np-identifier: Local_Socket_V1.0\r\n#012"#012"Hi#012"

Mar  6 16:01:53 VoIPDevSys opensips[26600]: DBG:mi_datagram:mi_datagram_parse_tree: adding node <> ; val <From: <[hidden email]>\r\nTo: <[hidden email]>\r\nContent-Type: text/plain\r\np-identifier: Local_Socket_V1.0\r\n#012>
Mar  6 16:01:53 VoIPDevSys opensips[26600]: DBG:mi_datagram:mi_datagram_parse_tree: the remaining datagram has 7 bytes
Mar  6 16:01:53 VoIPDevSys opensips[26600]: DBG:mi_datagram:mi_datagram_parse_node: the remaining datagram to be parsed is #012"Hi#012"#012 and 7 in length
Mar  6 16:01:53 VoIPDevSys opensips[26600]: DBG:mi_datagram:mi_datagram_parse_node: we have a  quoted value, "Hi#012"
Mar  6 16:01:53 VoIPDevSys opensips[26600]: DBG:mi_datagram:mi_datagram_parse_node: " found p is "
Mar  6 16:01:53 VoIPDevSys opensips[26600]: DBG:mi_datagram:mi_datagram_parse_node: we have reached the end of attr value, p is "
Mar  6 16:01:53 VoIPDevSys opensips[26600]: DBG:mi_datagram:mi_datagram_parse_node: attr value <Hi#012> found
Mar  6 16:01:53 VoIPDevSys opensips[26600]: DBG:mi_datagram:mi_datagram_parse_node: line ended properly case1
Mar  6 16:01:53 VoIPDevSys opensips[26600]: DBG:mi_datagram:mi_datagram_parse_node: 1 data->len is 7
Mar  6 16:01:53 VoIPDevSys opensips[26600]: DBG:mi_datagram:mi_datagram_parse_node: 2 data->len is 1
Mar  6 16:01:53 VoIPDevSys opensips[26600]: DBG:mi_datagram:mi_datagram_parse_tree: adding node <> ; val <Hi#012>
Mar  6 16:01:53 VoIPDevSys opensips[26600]: DBG:mi_datagram:mi_datagram_parse_tree: the remaining datagram has 1 bytes
Mar  6 16:01:53 VoIPDevSys opensips[26600]: DBG:mi_datagram:mi_datagram_parse_node: the remaining datagram to be parsed is #012 and 1 in length
Mar  6 16:01:53 VoIPDevSys opensips[26600]: DBG:mi_datagram:mi_datagram_server: done parsing the mi tree
Mar  6 16:01:53 VoIPDevSys opensips[26600]: DBG:mi_datagram:mi_datagram_server: command process (t_uac_dlg)succeded
Mar  6 16:01:53 VoIPDevSys opensips[26600]: DBG:mi_datagram:mi_datagram_server: the response: 400 Content-Type missin#012 has been sent in 24 octets

​From above logs I can see that Content-Type is present in the request but still I am getting this error and opensips is sending back 400 Content-Type missin#012​. The above logs are not complete if you need complete logs I can give you on pastebin.


Regards,
Husnain Taseer

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users