The Jingle support within Asterisk was primarily created while the specification for Jingle was still in progress. This led to fragmentation between a channel driver for Google Talk support and a channel driver for proper Jingle support. To this day this fragmentation continues to exist. As development on both channel drivers has continued the actual changes made have not been based on the specification itself but what is seen in the wild. This has caused many interoperability issues to occur within both channel drivers. While the approach of using the real world interaction to further the channel drivers may have worked in the beginning it is not sustainable for the future.
I propose that an audit of the Jingle support within Asterisk occur that tests interoperability with various endpoints before performing any changes. Once done an evaluation of the current support against the Jingle specifications must occur and shortcomings in our implementation noted and eventually resolved. Once resolved the same must be done for the Google Talk support using the protocol page provided by Google.
This is a fundamental change to how Jingle support within Asterisk is developed. Instead of using the real world interaction as the primary guide the specification is used and the real world interaction is secondary.