Hi all,
Can somebody please explain how exactly the "iksemel" library works. I've been trying to hunt down the bug that causes freeswitch to crash when making a jingle/gtalk call from ubuntu Empathy instead of the google talk web/flash application. I have narrowed the issue down to the difference in jingle-messages call-setup messages send over the jabber-channel by empathy, compaired to what the google webapplet sends. (see http://jira.freeswitch.org/browse/LBDING-18 for more info on the exact differences). However, I'm trying to understand how exactly freeswitch processes these messages. So, if I get it correct, it goes like that: - jabber xml-messages are treated by the iksemel library. - this library is based on "filters", which are configured beforehands. - when a jabber xml-message comes it, these filters are called. (va the function "iks_parse"). - these filters call, in their turn, the function then call a number of times the function "iks_find_attrib". In this bug, the problem seams to be when a call-setup packet comes in from empathy, on of these filters call the function "find_with_attrib", however pointing to a datarecord which is not a valid iks-record, resulting in a memory violation and hence a core-dump. But can somebody explain how exactly the "iksemel" library works. There seams to be a system of "hooks" used to attach pointers dynamically created filters-functions. But how exactly it all fits together is not very clear to me). If I understand it well, the problem needs to be solved somewhere in the code that creates these filters and define on what datarecord they should be called. However, I got lost in the code. Can somebody explain this a little bit. Cheerio! Kr. Bonne. -- jabber/gtalk: [email protected]
<<attachment: kristoff_bonne.vcf>>
signature.asc
Description: OpenPGP digital signature
_______________________________________________ FreeSWITCH-dev mailing list [email protected] http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
