Hi, I have successfully sent MESSAGE using mi_json module. Below information might be helpful for other opensips users as well.
I have mi_json param string: MESSAGE,sip:212897645@192.168.1.20,.,.,From: sip:212897554@192.168.1.20\r\nTo: sip:212897645@192.168.1.20\r\nContent-Type: text/plain; charset=UTF-8\r\n,,Hi How are you ? We have to URL encode this string before sending it to mi_json. Use online URL encoder I have used [https://www.urlencoder.org/]. When you will encode the above string /r and /n will be considered two characters each but we need to encode them as Carriage Return (%0D) and Line Feed (%0A). In simple words URL encode of /r should be %0D not %5Cr and for /n it should be %0A not %5Cn For That modify the above string as: MESSAGE,sip:212897645@192.168.1.20,.,.,From: sip:212897554@192.168.1.20 To: sip:212897645@192.168.1.20 Content-Type: text/plain; charset=UTF-8 ,Hi How are you ? Now encode the above string it will become: MESSAGE%2Csip%3A%E2%80%8B212897645%40%E2%80%8B192.168.1.20%2C.%2C.%2CFrom%3A+sip%3A%E2%80%8B212897554%40%E2%80%8B192.168.1.20%0D%0ATo%3A+sip%3A%E2%80%8B212897645%40%E2%80%8B192.168.1.20%0D%0AContent-Type%3A+text%2Fplain%3B+charset%3DUTF-8%0D%0A%E2%80%8B%2CHi+How+are+you+%3F%0D%0A Now Pass the above string as a parameter of t_uac_dlg command in curl: curl "http://127.0.0.1:8080/json/t_uac_dlg?params= MESSAGE%2Csip%3A%E2%80%8B212897645%40%E2%80%8B192.168.1.20%2C.%2C.%2CFrom%3A+sip%3A%E2%80%8B212897554%40%E2%80%8B192.168.1.20%0D%0ATo%3A+sip%3A%E2%80%8B212897645%40%E2%80%8B192.168.1.20%0D%0AContent-Type%3A+text%2Fplain%3B+charset%3DUTF-8%0D%0A%E2%80%8B%2CHi+How+are+you+%3F%0D%0A " The Message will be successfully sent to the the destination number. I will work on mi_datagram and will post the example of sending MESSAGE from datagram socket as well. Regards, *Husnain Taseer - **VoIP Development professional* *Cell : +973 3353 8026* On Mon, Mar 6, 2017 at 11:17 AM, Husnain Taseer <[email protected]> wrote: > 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\nsip:[email protected] > <nsip%[email protected]>\n.\n.\n"From: > <sip:212897554@192.168.1.20 <sip%[email protected]>>\\r\\nTo: > <sip:[email protected] > <sip%[email protected]>>\\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 > sip:[email protected] > . > . > "From: <sip:[email protected]>\r\nTo: > <sip:[email protected]>\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 [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
