Author: sayer Date: 2008-09-26 01:01:09 +0200 (Fri, 26 Sep 2008) New Revision: 1107
Added: trunk/doc/Readme.diameter_client trunk/doc/Readme.msg_storage trunk/doc/Readme.webconference Removed: trunk/apps/diameter_client/Readme.diameter_client trunk/apps/msg_storage/Readme.msg_storage trunk/apps/webconference/Readme.webconference Log: moved Readme files to doc/ folder Deleted: trunk/apps/diameter_client/Readme.diameter_client =================================================================== --- trunk/apps/diameter_client/Readme.diameter_client 2008-09-25 22:58:57 UTC (rev 1106) +++ trunk/apps/diameter_client/Readme.diameter_client 2008-09-25 23:01:09 UTC (rev 1107) @@ -1,139 +0,0 @@ - -diameter client (C) 2007 iptego GmbH ---------------- - -this is a very simple DIAMETER client implementation. it does -implement only parts of the base protocol, and is not a complete -DIAMETER implementation. - -it is used from other modules with the DI API - i.e. other modules -can execute DI functions to add a server connection, or send a -DIAMETER request. - -the DIAMETER base implementation is based on ser-0.9.6 diameter_auth -module by Elena-Ramona Modroiu, Copyright � 2003, 2004 FhG FOKUS. -connection pool and asynchronous message handling has been added, -together with the CER/CEA handshake and other things. - -be prepared that you will need to look into the source to see how this -works, and you will need to build up your request AVPs by hand by -assembling an AmArg with the AVPs as ArgBlobs, and also unpack the -results/a received event from an AmArg array yourself. - -WHY? ----- -It seems that there is no simple to use free DIAMETER client implementation -available. - - OpenDIAMETER is probably a complete solution, but seems to -be very complex to use. - - DISC (http://developer.berlios.de/projects/disc/) is of 2003, seems to - be quite complete but assumes to be a complete server - - openimscore cdp module would probably have been a better basis - than ser 0.9.6's auth diameter. well... - -BUGS/TODO ---------- - o CEA needs probably be fixed to specific AVP set - o mandatory AVP checking in compund AVP not implemented - - -API ---- -o connections are added with new_connection; connections are pooled for - an application, and are retried periodically if broken. only active - connections are used when sending a request (obviously) - -o replies to requests are posted as event to the session/module - (identified by sess_link) - -new_connection - string app_name - string server_ip - unsigned int server_port - string origin_host - string origin_realm - string origin_ip - unsigned int app_id - unsigned int vendor_id - string product_name - -send_request - string app_name - unsigned int command_code - unsigned int app_id - arg val - string sess_link - - args: array - [int avp_id, int flags, int vendor, blob data] - - returns : - DIA_OK - DIA_ERR_NOAPP - DIA_ERR_NOCONN - -reply events : - ... - - -some testing code ----------------- - -else if(method == "test1"){ - AmArg a; - a.push(AmArg("vtm")); - a.push(AmArg("10.1.0.196")); - a.push(AmArg(8080)); - a.push(AmArg("vtm01")); - a.push(AmArg("vtm.t-online.de")); - a.push(AmArg("10.42.32.13")); - a.push(AmArg(16777241)); - a.push(AmArg(29631)); - a.push(AmArg("vtm")); - a.assertArrayFmt("ssisssiis"); - newConnection(a, ret); - } else if(method == "test2"){ - AmArg a; -#define AAA_APP_USPI 16777241 -#define AVP_E164_NUMBER 1024 -#define AAA_VENDOR_IPTEGO 29631 -#define AAA_LAR 16777214 - - a.push(AmArg("vtm")); - a.push(AmArg(AAA_LAR)); - a.push(AmArg(AAA_APP_USPI)); - DBG("x pushin \n"); - AmArg avps; - - AmArg e164; - e164.push((int)AVP_E164_NUMBER); - e164.push((int)AAA_AVP_FLAG_VENDOR_SPECIFIC | AAA_AVP_FLAG_MANDATORY); - e164.push((int)AAA_VENDOR_IPTEGO); - string e164_number = "+49331600001"; - e164.push(ArgBlob(e164_number.c_str(), e164_number.length())); - avps.push(e164); - - AmArg drealm; - drealm.push((int)AVP_Destination_Realm); - drealm.push((int)AAA_AVP_FLAG_MANDATORY); - drealm.push((int)0); - string dest_realm = "iptego.de"; - drealm.push(ArgBlob(dest_realm.c_str(), dest_realm.length())); - avps.push(drealm); - - a.push(avps); - a.push(AmArg("bogus_link")); - - // check... - a.assertArrayFmt("siias"); - - // check values - AmArg& vals = a.get(3); - for (size_t i=0;i<vals.size(); i++) { - AmArg& row = vals.get(i); - // [int avp_id, int flags, int vendor, blob data] - row.assertArrayFmt("iiib"); - } - DBG("x sendrequest\n"); - sendRequest(a, ret); - Deleted: trunk/apps/msg_storage/Readme.msg_storage =================================================================== --- trunk/apps/msg_storage/Readme.msg_storage 2008-09-25 22:58:57 UTC (rev 1106) +++ trunk/apps/msg_storage/Readme.msg_storage 2008-09-25 23:01:09 UTC (rev 1107) @@ -1,17 +0,0 @@ - -This is an example module for file system based storage for -messages. It uses the file atime vs. mtime to determine whether a -messagee is new. - -This module lacks delete-locking of an open message -directory, which means that its possible to delete a message in -one call and on a parallel call not be able to listen to that -deleted message any more (even if it was in the list before). This -should be very rare usage though. - -If you are looking for efficient, simple, application level -replication of message files for all-active shared-nothing -n+1 redundancy cluster voicemail and voicebox operation at -low cost, don't hesitate to contact iptego GmbH at -mailto:[EMAIL PROTECTED] or have a look at -http://www.iptego.com/products/cnsp/ . Deleted: trunk/apps/webconference/Readme.webconference =================================================================== --- trunk/apps/webconference/Readme.webconference 2008-09-25 22:58:57 UTC (rev 1106) +++ trunk/apps/webconference/Readme.webconference 2008-09-25 23:01:09 UTC (rev 1107) @@ -1,122 +0,0 @@ -webconference : conference with dial-in and dial-out over DI (xmlrpc) - -This conference module can do dial-in, dial-out and mixed -dial-in/dial-out conferences. It can be controlled over DI functions -from other modules, and, for example, using the xmlrpc2di module, -the conference rooms can be controlled via XMLRPC. - -It implements conference rooms with dial-in and conference room entry -via DTMF, and authenticated dial-out. - -For dial-in, usually the user is asked to enter the conference room -number via keypad, followed by the star key. - -In the configuration, a regular expression can be defined (direct_room_re), -which, if matched to the user part of the request uri, connects the caller -directly to the conference room. direct_room_strip sets how many characters -should be stripped from the user part in order to obtain the conference room -number. - -Participants can be listed, kicked out, muted and unmuted over DI -(using xmlrpc2di over XMLRPC). - -You will probably want to load uac_auth and xmlrpc2di modules. - -There is some very simple feedback and call statistics functionality, which -will save its results to a log file. - -An admin PIN can be set, which serves to retrieve room PINs (for site administrator -or the like). - -implemented DI functions: - -All functions return as extra parameter the serverInfo, a status line showing the -SEMS version, and current call statistics. - ----- -roomCreate(string room): - int code, string result, string adminpin - - code/result: - 0 OK - 1 room already open ----- -roomInfo(string room, string adminpin): - int code, string result, list<participant> participants - participant: string call_tag, string number, int status, string reason, int muted - - status: - 0 Disconnected - 1 Connecting - 2 Ringing - 3 Connected - 4 Disconnecting - 5 Finished - reason: e.g. "200 OK", "606 Declined", ... - - code/result: - 0 OK - 1 wrong adminpin ----- -dialout(string room, string adminpin, string callee, - string from_user, string domain, - string auth_user, string auth_pwd [, headers]) : - int code, string result, string callid - - code/result: - 0 OK - 1 wrong adminpin - 2 failed ----- -kickout(string room, string adminpin, string call_tag) : - int code, string result - - code/result: - 0 OK - 1 wrong adminpin - 2 call does not exist in room ----- -mute(string room, string adminpin, string call_tag) : - int code, string result - - code/result: - 0 OK - 1 wrong adminpin - 2 call does not exist in room ----- -unmute(string room, string adminpin, string call_tag) : - int code, string result - - code/result: - 0 OK - 1 wrong adminpin - 2 call does not exist in room ----- -serverInfo(): - string serverInfo ----- -getRoomPassword(string master_pwd, string room) - int code, string result ----- -listRooms(string master_pwd) - int code, string result ----- - -additionally there is feedback functions to save call quality reports -from users: vqRoomFeedback, vqCallFeedback, vqConferenceFeedback. -resetFeedback, flushFeedback can be used to manipulate the feedback files. - -getRoomPassword and listRooms in only available if master password is set -in webconference.conf - - - - -prompt suggestions: ------------------- -entering_conference: You are now entering the conference room. -first_participant: You are the first participant in the conference. -pin_prompt: Welcome to iptel dot org conference. Please enter your room number, followed by the pound key. -wrong_pin: The room number is not correct. Please try again. - -+ the numbers (0.wav ... 9.wav ) Copied: trunk/doc/Readme.diameter_client (from rev 1104, trunk/apps/diameter_client/Readme.diameter_client) Copied: trunk/doc/Readme.msg_storage (from rev 1104, trunk/apps/msg_storage/Readme.msg_storage) Copied: trunk/doc/Readme.webconference (from rev 1106, trunk/apps/webconference/Readme.webconference)
_______________________________________________ Semsdev mailing list [email protected] http://lists.iptel.org/mailman/listinfo/semsdev
