Saturday, May 26, 2007

Making GTK widgets...

Hey again.

This haven't been updated for a couple of weeks. Now is the time. :-)
Lately we have been working with GTK and making the widgets and button work during our ping-pong protocol i gtalk. We have implemented it using the g_object style. So for now we can "hang-up" and "pick-up" the "phone" in our widgets.

The next thing we have to implement is:

* get the resource via. some kind presence. we are quite bored by setting it via. hardcoded variables.
* get the local codecs/encodings via. GST and embed it into pidgin.
* filter the encodings so we only get the proper audio codecs.
* set the encodings into our voicenode struct, so we can get it in both ends. We need to get/set other various hardcoded variables in the receiving/sending xmlnodes
* take care of network udp data path


We also:
* some code cleanup
* still have problems with to many global variables in voicenode.h/.c - which has the disadvantage effect of only one possible voice connection. We need another implementation for the voicenode, which must be map a voicenode to a connection 1 to 1 instead of 1 to all.

Next meeting will properly be tuesday. We are close to make the voice go through now!!!.. one month from now it will problerly work....


-Thats it for now.

/Steffen and Jesper

Wednesday, May 16, 2007

GTalk ping pong done.

Today we got the stanza ping pong for negotiating a GTalk voip connection working.

We found that the GTalk protocol might have changed, since the version used of Jabbin, which we test against.


We still have the JID issue. We can't get the full jid from the Jabber plugin. This leaves us with some different paths to solved the issue.
1) Make a core patch, so we can get it from the Jabber protocol.
2) We can gather information of the people in our friend list, so the information is ready when needed.
3) We can query the information (dunno how yet) and wait for the answer.
If we choose 2) we need to find an appropriate data structure to find for the buddy details.

We also have to look into Disco and stuff like that.

Cya friday

We took friday off. So status qo. I spend all night at work browsing the pidgin/jabber code/API trying to see if i could get the resources from there. It is for sure not possible to take it out from the Jabber plugin because we can not access the jabber_buddy functions which we like to. I still have a faint hope getting it out of the pidgin_notifty_user_info struct... but its a hack to get it out that way, since the object is used for UI.
So still status qo though my hair might be a bit grayer!

15/6 Our solution to this huge problem can be found in this post...

Tuesday, May 08, 2007

Finally PIDGIN2.0 is out!

First of all we have merged our code from gaim 2.0beta x.x.x to the new pidgin2.0. It was actually not as hard as one could have expected.

We now almost have implemented the session states from pending to activated in the Gtalk xml. Now we are missing to get the ressource from gaim(pidgin)
with their session ids (hash id) made from SASL implementation. As for now we have tested it towards jabbin and it turns out quite fine (because they are using the old standard of logging in).

TODO (thursday 10/5-2007):

* set the voicenode correctly with the right data! :-)
* figure out how to connect the ack messages (iq type=result) to the previous sent messages
* get the right binding/sessions id from pidgin. Done - 9/5.


Late night post...
* The parsing is split up into more files.
* The evil HEX-ressource append is caught from IQ Bind and stored in a variable. A good starting point - though our approach this far only allows exactly one XMPP account. 9/5 now placed in a list - to support more XMPP accounts.