Changeset 1424 for pjproject/trunk/pjsip-apps/src/pjsua/pjsua_app.c
- Timestamp:
- Aug 25, 2007 1:36:15 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjsip-apps/src/pjsua/pjsua_app.c
r1403 r1424 1821 1821 continue; 1822 1822 1823 printf(" [%2d] <%7s> %.*s\n", 1824 ids[i]+1, info.status_text.ptr, 1823 printf(" [%2d] <%.*s> %.*s\n", 1824 ids[i]+1, 1825 (int)info.status_text.slen, 1826 info.status_text.ptr, 1825 1827 (int)info.uri.slen, 1826 1828 info.uri.ptr); … … 1858 1860 printf(" %c[%2d] %.*s: %s\n", (acc_id==current_acc?'*':' '), 1859 1861 acc_id, (int)info.acc_uri.slen, info.acc_uri.ptr, buf); 1860 printf(" Online status: %s\n", 1861 (info.online_status ? "Online" : "Invisible")); 1862 printf(" Online status: %.*s\n", 1863 (int)info.online_status_text.slen, 1864 info.online_status_text.ptr); 1862 1865 } 1863 1866 … … 1888 1891 puts("| m Make new call | +b Add new buddy .| +a Add new accnt |"); 1889 1892 puts("| M Make multiple calls | -b Delete buddy | -a Delete accnt. |"); 1890 puts("| a Answer call | !b Modify buddy| !a Modify accnt. |");1891 puts("| h Hangup call (ha=all) | i Send IM| rr (Re-)register |");1892 puts("| H Hold call | s Subscribe presence| ru Unregister |");1893 puts("| v re-inVite (release hold) | u Unsubscribe presence| > Cycle next ac.|");1894 puts("| ] Select next dialog | t ToGgle Online status| < Cycle prev ac.|");1893 puts("| a Answer call | i Send IM | !a Modify accnt. |"); 1894 puts("| h Hangup call (ha=all) | s Subscribe presence | rr (Re-)register |"); 1895 puts("| H Hold call | u Unsubscribe presence | ru Unregister |"); 1896 puts("| v re-inVite (release hold) | t ToGgle Online status | > Cycle next ac.|"); 1897 puts("| ] Select next dialog | T Set online status | < Cycle prev ac.|"); 1895 1898 puts("| [ Select previous dialog +--------------------------+-------------------+"); 1896 1899 puts("| x Xfer call | Media Commands: | Status & Config: |"); … … 2089 2092 return; 2090 2093 } 2094 } 2095 2096 2097 /* 2098 * Change extended online status. 2099 */ 2100 static void change_online_status(void) 2101 { 2102 char menuin[32]; 2103 pj_bool_t online_status; 2104 pjrpid_element elem; 2105 int i, choice; 2106 2107 enum { 2108 AVAILABLE, BUSY, OTP, IDLE, AWAY, BRB, OFFLINE, OPT_MAX 2109 }; 2110 2111 struct opt { 2112 int id; 2113 char *name; 2114 } opts[] = { 2115 { AVAILABLE, "Available" }, 2116 { BUSY, "Busy"}, 2117 { OTP, "On the phone"}, 2118 { IDLE, "Idle"}, 2119 { AWAY, "Away"}, 2120 { BRB, "Be right back"}, 2121 { OFFLINE, "Offline"} 2122 }; 2123 2124 printf("\n" 2125 "Choices:\n"); 2126 for (i=0; i<PJ_ARRAY_SIZE(opts); ++i) { 2127 printf(" %d %s\n", opts[i].id+1, opts[i].name); 2128 } 2129 2130 if (!simple_input("Select status", menuin, sizeof(menuin))) 2131 return; 2132 2133 choice = atoi(menuin) - 1; 2134 if (choice < 0 || choice >= OPT_MAX) { 2135 puts("Invalid selection"); 2136 return; 2137 } 2138 2139 pj_bzero(&elem, sizeof(elem)); 2140 elem.type = PJRPID_ELEMENT_TYPE_PERSON; 2141 2142 online_status = PJ_TRUE; 2143 2144 switch (choice) { 2145 case AVAILABLE: 2146 break; 2147 case BUSY: 2148 elem.activity = PJRPID_ACTIVITY_BUSY; 2149 elem.note = pj_str("Busy"); 2150 break; 2151 case OTP: 2152 elem.activity = PJRPID_ACTIVITY_BUSY; 2153 elem.note = pj_str("On the phone"); 2154 break; 2155 case IDLE: 2156 elem.activity = PJRPID_ACTIVITY_UNKNOWN; 2157 elem.note = pj_str("Idle"); 2158 break; 2159 case AWAY: 2160 elem.activity = PJRPID_ACTIVITY_AWAY; 2161 elem.note = pj_str("Away"); 2162 break; 2163 case BRB: 2164 elem.activity = PJRPID_ACTIVITY_UNKNOWN; 2165 elem.note = pj_str("Be right back"); 2166 break; 2167 case OFFLINE: 2168 online_status = PJ_FALSE; 2169 break; 2170 } 2171 2172 pjsua_acc_set_online_status2(current_acc, online_status, &elem); 2091 2173 } 2092 2174 … … 2803 2885 break; 2804 2886 2887 case 'T': 2888 change_online_status(); 2889 break; 2890 2805 2891 case 'c': 2806 2892 switch (menuin[1]) {
Note: See TracChangeset
for help on using the changeset viewer.