Preliminary Gaim Support for ENUM!
I did a quick hack to add ENUM resolution to GAIM. This is done when a user is being added into the system only. So after the user is added, the correct IM specific ID is used. Right now, I only support Yahoo Messenger translation. However, it should be trivial to add support for other messengers. I am still unsure about how to implement this for the entire Gaim application. Other whether this approach is the best one.
Right now, the ENUM NAPTR entry I used looks like this:
0.0.0.9.6.1.3.7.3.6.e164.arpa. 3600 IN NAPTR 10 10 "u" "E2U+im:yahoo" "!^.*$!hbogbindero!" .
The application then looks for this entry and uses the YM login ID found here. This way a single E.164 number can be used to identify the person. However, the ENUM is never used moving forward. So, if the ENUM points to another IM in the future then gaim will continue to use the old entry. Another problem is that each IM will have a different ENUM service? Hence, a separate ENUM NAPTR entry per service? Maybe a generic convention for defining IM services would be better? We can’t use the ‘@’ as a separator because most IM providers already use it.
I implemented this using the ENUM C Library I released this morning. The actual ENUM support patch can be downloaded here. The SRPM can be found here. If you don’t want to compile things yourself a Fedora Core 5 (FC5) RPM can be found here. Your comments and suggestions on possible implementation would be appreciated.
