Could you send me the SIP message as pcap?

Regards,

Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  https://www.opensips-solutions.com
  https://www.siphub.com


On 5/12/26 17:52, Robert Dyck wrote:

Experimenting - Try to expose for example state.


 $xml(bla) = $rb(application/im-iscomposing+xml);
 xlog("$xml(bla/isComposing/state)\n");


*NOTICE:If content-type is message/cpim don't store it*

DBG:core:parse_headers_aux: flags=ffffffffffffffff

DBG:core:decode_mime_type: Decoding MIME type for:[message/cpim]DBG:core:pv_get_msg_body: --------mime is <196863>, idx=0DBG:core:pv_get_msg_body: Index too big [0], body_part=(nil)*ERROR:xml:pv_set_xml: Uninitialized xml object: bla**ERROR:core:do_assign: setting PV failed**ERROR:core:do_assign: error at /usr/local/etc/opensips/opensips.cfg:670*

DBG:xml:pv_get_xml: Unknown object <bla>
*NOTICE:<null>*

The second content-type is invisible to opensips.


I don't think opensips knows about mime message/cpim.

Some functions, for instance handle_publish assume that the start of the body is also the start of xml. With message/cpim that is not the case.


Here is the part of MESSAGE that is of interest.


Content-Encoding: deflate

Content-Type: message/cpim

Content-Length: 249

Priority: non-urgent

Expires: 0

User-Agent: Linphone-Desktop/6.2.0-beta.19+1d6910749 (silver.mylan) fedora/44 Qt/6.9.1 LinphoneSDK/5.5.0-beta-84-g7a481f7e71

Message Body

From: <sip:[email protected]>\r\n

To: <sip:[email protected]>\r\n

DateTime: 2026-05-04T16:46:24Z\r\n

\r\n

Content-Type: application/im-iscomposing+xml\r\n

Content-Length: 207\r\n

\r\n

<?xml version="1.0" encoding="UTF-8" standalone="no" ?><isComposing xmlns="urn:ietf:params:xml:ns:im-iscomposing"><state>active</state><contenttype>text/plain</contenttype><refresh>60</refresh></isComposing>


message/cpim enforces this format for the body.


On Tuesday, May 12, 2026 2:49:49 a.m. Pacific Daylight Time you wrote:

> IF you have a multi-part body, shouldn't this do the trick:

>

> $xml(bla) = $rb(application/im-iscomposing+xml);

>

> [1] https://opensips.org/Documentation/Script-CoreVar-3-6#rb

>

>

> Regards,

>

> Bogdan-Andrei Iancu

>

> OpenSIPS Founder and Developer

> https://www.opensips-solutions.com

> https://www.siphub.com

>

> On 5/11/26 18:40, Robert Dyck wrote:

> > I don't think that $xml() can be made to work. The first parameter for

> > $xml() is the name of an xml object. This would work for the xml we

> > create ourself with xml module. How would we extract an xml and name it.

> >

> > I thought about using the content type as a filter. This was problematic

> > because MESSAGE ( RFC 3248 page mode ) allows SIP headers in the body. We

> > receive two Content-Type headers. I tried using $cT[index] but the second

> > Content-Type is never found. Using any index always just returns the first

> > instance.

> >

> > I tried using sipmsgops has_body_part( mime ). This doesn't work for the

> > same reason filtering the content type didn't work. This function uses

> > the content type as the first step in its filter. It will never find

> > "Content-Type: application/im-iscomposing+xml".

> >

> > I can keep the xml from being stored in the silo by filtering on

> > "Content-Type message/cpim" but I am not happy with it. It is not

> > specific enough and may cause issues.

> >

> > On Thursday, May 7, 2026 1:36:49 a.m. Pacific Daylight Time you wrote:

> >> if you have $xml(bla) = "....some xml....";

> >>

> >> Try like $xml(bla/isComposing.attr/xmlns)

> >>

> >> Regards,

> >>

> >> Bogdan-Andrei Iancu

> >>

> >> OpenSIPS Founder and Developer

> >>

> >> https://www.opensips-solutions.com

> >> https://www.siphub.com

> >>

> >> On 5/6/26 22:19, Robert Dyck wrote:

> >>> I am trying to understand $xml() and added some logging to the script.

> >>>

> >>> I know the contents of the xml doc.

> >>>

> >>> <?xml version="1.0" encoding="UTF-8" standalone="no" ?>

> >>>

> >>> <isComposing xmlns="urn:ietf:params:xml:ns:im-iscomposing">

> >>>

> >>> <state>active</state>

> >>>

> >>> <contenttype>text/plain</contenttype>

> >>>

> >>> <refresh>60</refresh>

> >>>

> >>>   </isComposing>'

> >>>

> >>> Using statements such as "xlog("xlm is $xml(?xml/isComposing)\n");"

> >>>

> >>> I get DBG:xml:pv_get_xml: Unknown object <?xml>

> >>> The same if I ignore the version element and try "isComposing".

> >>>

> >>> It says Unknown object <isComposing>

> >>>

> >>>

> >>> Printing the entire $xml doesn't work.

> >>>

> >>> BG:core:parse_headers_aux: flags=ffffffffffffffff

> >>> [266B blob data]

> >>>

> >>> On Wednesday, May 6, 2026 1:08:11 a.m. Pacific Daylight Time you wrote:

> >>>> According to the grammar [1], you have access to the attributes:

> >>>>

> >>>>

> >>>>

> >>>> access = .val | .attr/string | .attr/$var

> >>>>

> >>>>

> >>>>

> >>>> An example:

> >>>>

> >>>>

> >>>>

> >>>> $xml(my_doc/doc/list.attr/sort) = "asc";              # add

> >>>

> >>> attribute "sort"

> >>>

> >>>> to list node

> >>>>

> >>>>

> >>>>

> >>>>

> >>>>

> >>>> [1] https://opensips.org/docs/modules/3.6.x/xml.html#pv_xml

> >>>>

> >>>>

> >>>>

> >>>> Bogdan-Andrei Iancu

> >>>>

> >>>>

> >>>>

> >>>> OpenSIPS Founder and Developer

> >>>>

> >>>> https://www.opensips-solutions.com

> >>>>

> >>>> https://www.siphub.com

> >>>>

> >>>> On 5/4/26 17:31, Robert Dyck wrote:

> >>>>> Yes.

> >>>>>

> >>>>> Or perhaps just detect the the presence of xlm. It should not go

> >>>

> >>> into the

> >>>

> >>>>> silo.

> >>>>>

> >>>>> On Monday, May 4, 2026 6:48:50 a.m. Pacific Daylight Time you wrote:

> >>>>>> You mean the xmlns attribute of the isComposing node ?

> >>>>>>

> >>>>>>

> >>>>>>

> >>>>>> Regards,

> >>>>>>

> >>>>>>

> >>>>>>

> >>>>>> Bogdan-Andrei Iancu

> >>>>>>

> >>>>>>

> >>>>>>

> >>>>>> OpenSIPS Founder and Developer

> >>>>>>

> >>>>>>

> >>>>>>

> >>>>>> https://www.opensips-solutions.com

> >>>>>>

> >>>>>> https://www.siphub.com

> >>>>>>

> >>>>>> On 4/27/26 19:21, Robert Dyck wrote:

> >>>>>>> I have looked at the module and it is not clear to me how one would

> >>>>>>>

> >>>>>>> extract the name space from the xml.

> >>>>>>>

> >>>>>>>

> >>>>>>>

> >>>>>>>

> >>>>>>>

> >>>>>>> <?xml version="1.0" encoding="UTF-8" standalone="no" ?>

> >>>>>>>

> >>>>>>> <isComposing xmlns="urn:ietf:params:xml:ns:im-iscomposing">

> >>>>>>>

> >>>>>>> <state>active</state>

> >>>>>>>

> >>>>>>> <contenttype>text/plain</contenttype>

> >>>>>>>

> >>>>>>> <refresh>60</refresh>

> >>>>>>>

> >>>>>>> </isComposing>'

> >>>>>>>

> >>>>>>> _______________________________________________

> >>>>>>>>>

> >>>>>>>>> Users mailing list

> >>>>>>>>>

> >>>>>>>>>

> >>>>>>>>>

> >>>>>>>>> [email protected]

> >>>>>>>>>

> >>>>>>>>>

> >>>>>>>>>

> >>>>>>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users

> >>>>>>>

> >>>>>>> On Monday, April 27, 2026 7:31:14 a.m. Pacific Daylight Time you

> >>>

> >>> wrote:

> >>>>>>>> Robert,

> >>>>>>>>

> >>>>>>>>

> >>>>>>>>

> >>>>>>>>

> >>>>>>>>

> >>>>>>>>

> >>>>>>>>

> >>>>>>>> Check thishttps://opensips.org/docs/modules/3.6.x/xml.html

> >>>>>>>>

> >>>>>>>>

> >>>>>>>>

> >>>>>>>>

> >>>>>>>>

> >>>>>>>>

> >>>>>>>>

> >>>>>>>> Regards,

> >>>>>>>>

> >>>>>>>>

> >>>>>>>>

> >>>>>>>>

> >>>>>>>>

> >>>>>>>>

> >>>>>>>>

> >>>>>>>> Bogdan-Andrei Iancu

> >>>>>>>>

> >>>>>>>>

> >>>>>>>>

> >>>>>>>>

> >>>>>>>>

> >>>>>>>>

> >>>>>>>>

> >>>>>>>> OpenSIPS Founder and Developer

> >>>>>>>>

> >>>>>>>>

> >>>>>>>>

> >>>>>>>> https://www.opensips-solutions.com

> >>>>>>>>

> >>>>>>>>

> >>>>>>>>

> >>>>>>>> https://www.siphub.com



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

Reply via email to