pidgin.vv.yahoo.voice: 56d7b0b0: Partially handle hold and resume request...
maiku at pidgin.im
maiku at pidgin.im
Sat Aug 29 20:52:02 EDT 2009
-----------------------------------------------------------------
Revision: 56d7b0b0513bb8141437809366e21d4709c9c64d
Ancestor: eb388989020c606fb52bbd62b9ed1d22f243ef18
Author: maiku at pidgin.im
Date: 2009-08-30T00:27:34
Branch: im.pidgin.pidgin.vv.yahoo.voice
URL: http://d.pidgin.im/viewmtn/revision/info/56d7b0b0513bb8141437809366e21d4709c9c64d
Modified files:
libpurple/protocols/yahoo/yahoo_sip.c
ChangeLog:
Partially handle hold and resume requests.
-------------- next part --------------
============================================================
--- libpurple/protocols/yahoo/yahoo_sip.c b4b4a1084bd7330104aea58a77ef0d340e114175
+++ libpurple/protocols/yahoo/yahoo_sip.c f9c07e06639a2aaf10b5f24c09511d24c6c381d0
@@ -304,8 +304,26 @@ event_callback(nua_event_t event, int st
PurpleMedia *media;
PurpleAccount *account = magic;
GParameter param;
+ sip_unknown_t *iter = sip_unknown(sip);
+
purple_debug_info("yahoo", "INVITE status %d display: %s\n",
status, name);
+
+ for (; iter; iter = iter->un_next) {
+ if (!strcmp(iter->un_name, "Y-Invite-Type")) {
+ if (!strcmp(iter->un_value, "hold")) {
+ purple_debug_info("yahoo",
+ "sip: remote end is holding\n");
+ /* Switch to send only */
+ } else if (!strcmp(iter->un_value, "resume")) {
+ purple_debug_info("yahoo",
+ "sip: remote end is resuming\n");
+ /* Switch back to sendrecv */
+ }
+ return;
+ }
+ }
+
nua_respond(nh, 180, "Ringing", TAG_END());
media = purple_media_manager_create_media(
purple_media_manager_get(),
More information about the Commits
mailing list