ayttm-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Ayttm-commits] CVS: ayttm/modules/msn2/libmsn2 msn_core.C,1.38,1.39 ms


From: Colin Leroy <address@hidden>
Subject: [Ayttm-commits] CVS: ayttm/modules/msn2/libmsn2 msn_core.C,1.38,1.39 msn_core.h,1.12,1.13
Date: Fri, 21 Mar 2003 05:00:20 -0500

Update of /cvsroot/ayttm/ayttm/modules/msn2/libmsn2
In directory subversions:/tmp/cvs-serv22220/modules/msn2/libmsn2

Modified Files:
        msn_core.C msn_core.h 
Log Message:
gnomemeeting inviting


Index: msn_core.C
===================================================================
RCS file: /cvsroot/ayttm/ayttm/modules/msn2/libmsn2/msn_core.C,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- msn_core.C  20 Mar 2003 09:10:12 -0000      1.38
+++ msn_core.C  21 Mar 2003 10:00:18 -0000      1.39
@@ -48,6 +48,8 @@
 char * errors[1000];
 char default_error_msg[]="Unknown error code";
 
+static void msn_finish_netmeeting_inv(msnconn *conn, invitation_voice *inv, 
char *ip);
+
 void msn_init(msnconn * conn, char * username, char * password)
 {
   srand(time(NULL));
@@ -970,6 +972,9 @@
            /* got a voice invitation and we agreed */
            ext_start_netmeeting(ip);
            free(ip);
+    } else if(inv_is_out && inv->app == APP_NETMEETING) {
+            msn_finish_netmeeting_inv(conn, (invitation_voice *)inv,
+                           msn_find_in_mime(body,"\nIP-Address"));
     }
   } else if(!strcmp(command, "CANCEL") || !strcmp(command, "REJECT")) {
     if(inv==NULL)
@@ -988,7 +993,8 @@
         msn_del_from_llist(conn->invitations_in, inv);
       }
       delete inv;
-    } else if (inv->app == APP_VOICE) {
+    } else {
+      ext_show_error(conn,"Contact refused our invitation.\n");
       if(inv_is_out)
       {
         msn_del_from_llist(conn->invitations_out, inv);
@@ -1050,6 +1056,7 @@
           http://www.cs.ucl.ac.uk/staff/J.Crowcroft/mmbook/book/node185.html
           http://www.cs.columbia.edu/~kns10/software/siplib/ <<<<<==== this is 
for the one who'll implement it here ;-)
           http://www.linphone.org/ <= probably simpler ;-)
+          RFC3428
         */
        ext_show_error(conn, "Your contact tries to use the "
                        "SIP MSN Voice Protocol. " 
@@ -1825,7 +1832,12 @@
 
   msg->content=msn_permstring("text/x-msmsgsinvite; charset=UTF-8");
 
-  sprintf(buf, "Application-Name: File transfer\r\nApplication-GUID: 
{5D3E02AB-6190-11d3-BBBB-00C04F795683}\r\nInvitation-Command: 
INVITE\r\nInvitation-Cookie: %s\r\nApplication-File: 
%s\r\nApplication-FileSize: %lu\r\n\r\n",
+  sprintf(buf, "Application-Name: File transfer\r\n"
+                 "Application-GUID: {5D3E02AB-6190-11d3-BBBB-00C04F795683}\r\n"
+                 "Invitation-Command: INVITE\r\n"
+                 "Invitation-Cookie: %s\r\n"
+                 "Application-File: %s\r\n"
+                 "Application-FileSize: %lu\r\n\r\n",
     inv->cookie, basename, inv->filesize);
 
   msg->body=msn_permstring(buf);
@@ -2101,3 +2113,61 @@
        next_trid++;
 }
 
+invitation_voice * msn_invite_netmeeting(msnconn *conn)
+{
+  invitation_voice * inv=new invitation_voice;
+  inv->app=APP_NETMEETING;
+  inv->cookie=new char[64];
+  inv->sessionid = new char[42];
+  sprintf(inv->cookie, "%d", rand());
+  inv->conn=conn;
+  snprintf(inv->sessionid,42,"{%08X-%04X-%04X-%04X-%012X}",
+                       rand(),(unsigned short)(rand()),
+                       (unsigned short)(rand()),
+                       (unsigned short)(rand()),
+                       rand());
+
+  message * msg = new message;
+  msg->content=msn_permstring("text/x-msmsgsinvite; charset=UTF-8");
+  
+  sprintf(buf, "Application-Name: NetMeeting\r\n"
+                 "Application-GUID: {44BBA842-CC51-11CF-AAFA-00AA00B6015C}\r\n"
+                 "Session-Protocol: SM1\r\n"
+                 "Invitation-Command: INVITE\r\n"
+                 "Invitation-Cookie: %s\r\n"
+                 "Session-ID: %s\r\n\r\n",
+                 inv->cookie,
+                 inv->sessionid);
+
+  msg->body=msn_permstring(buf);
+
+  msn_send_IM(conn, NULL, msg);
+
+  msn_add_to_llist(conn->invitations_out, inv);
+
+  if(DEBUG) printf("sent invitation!\n");
+  delete msg;
+  return inv;
+
+}
+
+static void msn_finish_netmeeting_inv(msnconn *conn, invitation_voice *inv, 
char *ip) 
+{
+  message * msg = new message;
+  msg->content=msn_permstring("text/x-msmsgsinvite; charset=UTF-8");
+  
+  sprintf(buf, "Invitation-Command: ACCEPT\r\n"
+                 "Invitation-Cookie: %s\r\n"
+                 "Session-ID: %s\r\n"
+                 "Launch-Application: TRUE\r\n"
+                 "IP-Address: %s\r\n\r\n",
+                 inv->cookie,
+                 inv->sessionid,
+                 ext_get_IP());
+  
+  msg->body=msn_permstring(buf);
+
+  msn_send_IM(conn, NULL, msg);
+  ext_start_netmeeting(ip);
+  delete msg;
+}

Index: msn_core.h
===================================================================
RCS file: /cvsroot/ayttm/ayttm/modules/msn2/libmsn2/msn_core.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- msn_core.h  20 Mar 2003 09:10:12 -0000      1.12
+++ msn_core.h  21 Mar 2003 10:00:18 -0000      1.13
@@ -231,6 +231,8 @@
 
 void msn_netmeeting_reject(invitation_voice * inv);
 
+invitation_voice * msn_invite_netmeeting(msnconn *conn);
+
 invitation_ftp * msn_filetrans_send(msnconn * conn, char * path);
 
 void msn_sync_lists(msnconn * conn, int version);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]