Just updating:
1) the "bondary" string used by Cisco is defined on the line: Content-Type: multipart/mixed;boundary=uniqueBoundary Somehow it should be extracted and used by filter_body in place of the hardcoded string used today.
2) the ERROR message gived by NAThelper is produced on file nhelpr_func.c, function check_content_type (line 68-150). That's where I stopped...
Edson.
Edson - Lists escreveu:
Hi, Juha...
Juha Heinanen escreveu:
Edson - Lists writes:
I implemented the suggested logic on the ONREPLY_ROUTE. It is >
recognizing the multi part SDP, but when "filter_body" is called, it
returns the following ERROR on the log:
ERROR:textops:filter_body_f: Boundary not found after content
i don't remember what the function assumes about boundaries and empty lines. check that there is crlf after each line in the sdp. i can read the code in the evening when i'm back at my pc.
Just checked and all SDP lines are ended by "0x0d,0x0a". So I went to the code and founded in textops.c that filter_body is looking for the string "--Boundary" while Cisco GW uses "--uniqueBondary" as boundary identifier (see the printed $rb on the logs below).
So I twiked the code to also look for the string "--uniqueBondary", recompile and this ERROR message is gone... Now I got new ones from NATHelper (see the last lines below) ... Will look the code, but sure if I could do a thing...
Edson
Jun 12 16:07:53 Kamailio-151 /sbin/kamailio[18639]: ON-REPLY[1] incoming reply <183> for <INVITE> <8999>/<902121035550> Jun 12 16:07:53 Kamailio-151 /sbin/kamailio[18639]: Multipart SDP encontrado Jun 12 16:07:53 Kamailio-151 /sbin/kamailio[18639]: --uniqueBoundary Content-Type: application/sdp v=0 o=CiscoSystemsSIP-GW-UserAgent 6889 1029 IN IP4 200.139.77.10 s=SIP Call c=IN IP4 200.139.77.10 t=0 0 m=audio 16964 RTP/AVP 0 c=IN IP4 200.139.77.10 a=rtpmap:0 PCMU/8000 --uniqueBoundary Content-Type: application/gtd Content-Disposition: signal;handling=optional CPG, PRN,isdn*,,QSIG*, --uniqueBoundary-- Jun 12 16:07:53 Kamailio-151 /sbin/kamailio[18639]: executando 'force_rtp_proxy' Jun 12 16:07:53 Kamailio-151 /sbin/kamailio[18639]: ERROR:nathelper:check_content_type: invalid type for a message Jun 12 16:07:53 Kamailio-151 /sbin/kamailio[18639]: ERROR:nathelper:extract_body: content type mismatching Jun 12 16:07:53 Kamailio-151 /sbin/kamailio[18639]: ERROR:nathelper:force_rtp_proxy: can't extract body from the message