Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

wap_events.def

Go to the documentation of this file.
00001 /* ==================================================================== 
00002  * The Kannel Software License, Version 1.0 
00003  * 
00004  * Copyright (c) 2001-2008 Kannel Group  
00005  * Copyright (c) 1998-2001 WapIT Ltd.   
00006  * All rights reserved. 
00007  * 
00008  * Redistribution and use in source and binary forms, with or without 
00009  * modification, are permitted provided that the following conditions 
00010  * are met: 
00011  * 
00012  * 1. Redistributions of source code must retain the above copyright 
00013  *    notice, this list of conditions and the following disclaimer. 
00014  * 
00015  * 2. Redistributions in binary form must reproduce the above copyright 
00016  *    notice, this list of conditions and the following disclaimer in 
00017  *    the documentation and/or other materials provided with the 
00018  *    distribution. 
00019  * 
00020  * 3. The end-user documentation included with the redistribution, 
00021  *    if any, must include the following acknowledgment: 
00022  *       "This product includes software developed by the 
00023  *        Kannel Group (http://www.kannel.org/)." 
00024  *    Alternately, this acknowledgment may appear in the software itself, 
00025  *    if and wherever such third-party acknowledgments normally appear. 
00026  * 
00027  * 4. The names "Kannel" and "Kannel Group" must not be used to 
00028  *    endorse or promote products derived from this software without 
00029  *    prior written permission. For written permission, please  
00030  *    contact org@kannel.org. 
00031  * 
00032  * 5. Products derived from this software may not be called "Kannel", 
00033  *    nor may "Kannel" appear in their name, without prior written 
00034  *    permission of the Kannel Group. 
00035  * 
00036  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 
00037  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
00038  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
00039  * DISCLAIMED.  IN NO EVENT SHALL THE KANNEL GROUP OR ITS CONTRIBUTORS 
00040  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,  
00041  * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT  
00042  * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR  
00043  * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,  
00044  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE  
00045  * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,  
00046  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
00047  * ==================================================================== 
00048  * 
00049  * This software consists of voluntary contributions made by many 
00050  * individuals on behalf of the Kannel Group.  For more information on  
00051  * the Kannel Group, please see <http://www.kannel.org/>. 
00052  * 
00053  * Portions of this software are based upon software originally written at  
00054  * WapIT Ltd., Helsinki, Finland for the Kannel project.  
00055  */ 
00056 
00057 /*
00058  * wap_events.def - definitions for wapbox events
00059  *
00060  * This file uses a pre-processor trick to define the structure of
00061  * structures. See the documentation.
00062  *
00063  * Fields of type HTTPHEADER, CAPABILITIES, and OPTIONAL_OCTSTR may
00064  * be NULL.  All other fields must be filled in, unless they are
00065  * otherwise marked.
00066  *
00067  * Fields described in the appropriate spec are listed first.  Fields
00068  * specific to Kannel are introduced with an empty line.  In some events,
00069  * we have combined fields to form an "address tuple" (see wap_addr.h).
00070  *
00071  * Aarno Syvänen
00072  * Lars Wirzenius
00073  */
00074 
00075 
00076 
00077 /* WTLS material - make sure the addr_tuple comes first! */
00078 
00079 WAPEVENT(T_Unitdata_Ind, "T-Unitdata.ind",
00080          ADDRTUPLE(addr_tuple)
00081          WTLSPDUS(pdu_list)
00082         )
00083 
00084 WAPEVENT(SEC_Create_Ind, "SEC-Create.ind",
00085          ADDRTUPLE(addr_tuple)
00086         )
00087 
00088 WAPEVENT(SEC_Create_Request_Req, "SEC-Create.req",
00089          ADDRTUPLE(addr_tuple)
00090         )
00091 
00092 WAPEVENT(SEC_Terminate_Req, "SEC-Terminate.req",
00093          ADDRTUPLE(addr_tuple)
00094          INTEGER(alert_level)
00095          INTEGER(alert_desc)
00096         )
00097 
00098 WAPEVENT(SEC_Exception_Req, "SEC-Exception.req",
00099          ADDRTUPLE(addr_tuple)
00100          INTEGER(alert_level)
00101          INTEGER(alert_desc)
00102         )
00103 
00104 WAPEVENT(SEC_Create_Res, "SEC-Create.res",
00105          ADDRTUPLE(addr_tuple)
00106          INTEGER(client_key_id)
00107          INTEGER(bulk_cipher_algo)
00108          INTEGER(mac_algo)
00109          INTEGER(snmode)
00110          INTEGER(krefresh)
00111         )
00112 
00113 WAPEVENT(SEC_Exchange_Req, "SEC-Exchange.req",
00114          ADDRTUPLE(addr_tuple)
00115         )
00116 
00117 WAPEVENT(SEC_Commit_Req, "SEC-Commit.req",
00118          ADDRTUPLE(addr_tuple)
00119         )
00120 
00121 WAPEVENT(SEC_Unitdata_Req, "SEC-Unidata.req",
00122          ADDRTUPLE(addr_tuple)
00123          OCTSTR(user_data)
00124         )
00125 
00126 /*
00127  * Transport layer (WDP)
00128  */
00129 
00130 WAPEVENT(T_DUnitdata_Req, "T-DUnitdata.req",
00131     ADDRTUPLE(addr_tuple)
00132     OCTSTR(user_data)
00133 
00134         INTEGER(address_type)
00135         OPTIONAL_OCTSTR(smsc_id)
00136         INTEGER(dlr_mask)
00137         OPTIONAL_OCTSTR(dlr_url)
00138         OPTIONAL_OCTSTR(smsbox_id)
00139         OPTIONAL_OCTSTR(service_name)
00140     )
00141 
00142 WAPEVENT(T_DUnitdata_Ind, "T-DUnitdata.ind",
00143     ADDRTUPLE(addr_tuple)
00144     OCTSTR(user_data)
00145     )
00146 
00147 /* 
00148  * Transaction layer (WTP)
00149  */
00150 
00151 WAPEVENT(TR_Invoke_Req, "TR-Invoke.req",
00152     ADDRTUPLE(addr_tuple)
00153     INTEGER(up_flag)
00154     OCTSTR(user_data)
00155     INTEGER(tcl)
00156     INTEGER(handle)
00157     )
00158 
00159 WAPEVENT(TR_Invoke_Ind, "TR-Invoke.ind",
00160         INTEGER(ack_type)
00161         OCTSTR(user_data)
00162         INTEGER(tcl)
00163     ADDRTUPLE(addr_tuple)
00164     INTEGER(handle)
00165     )
00166 
00167 WAPEVENT(TR_Invoke_Res, "TR-Invoke.res",
00168     INTEGER(handle)
00169     )
00170 
00171 WAPEVENT(TR_Invoke_Cnf, "TR-Invoke.cnf",
00172     INTEGER(handle)
00173 
00174         ADDRTUPLE(addr_tuple)
00175     )
00176 
00177 WAPEVENT(TR_Result_Req, "TR-Result.req",
00178     OCTSTR(user_data)
00179     INTEGER(handle)
00180     )
00181 
00182 WAPEVENT(TR_Result_Cnf, "TR-Result.cnf",
00183     INTEGER(handle)
00184 
00185     ADDRTUPLE(addr_tuple)
00186         )
00187 
00188 WAPEVENT(TR_Abort_Req, "TR-Abort.req",
00189     INTEGER(abort_type)
00190     INTEGER(abort_reason)
00191     INTEGER(handle)
00192     ) 
00193 
00194 WAPEVENT(TR_Abort_Ind, "TR-Abort.ind",
00195         INTEGER(abort_code)
00196     INTEGER(handle)
00197 
00198     ADDRTUPLE(addr_tuple)
00199         INTEGER(ir_flag) /* Are we an initiator or a responder */
00200         )
00201 
00202 /*
00203  * Session layer (WSP), server side
00204  * These events use the session id as a handle.
00205  */
00206 
00207 WAPEVENT(S_Connect_Ind, "S-Connect.ind",
00208     ADDRTUPLE(addr_tuple)
00209     HTTPHEADER(client_headers)
00210     CAPABILITIES(requested_capabilities)
00211 
00212     INTEGER(session_id)
00213     )
00214 
00215 WAPEVENT(S_Connect_Res, "S-Connect.res",
00216     HTTPHEADER(server_headers)
00217     CAPABILITIES(negotiated_capabilities)
00218 
00219     INTEGER(session_id)
00220     )
00221 
00222 WAPEVENT(S_Suspend_Ind, "S-Suspend.ind",
00223     INTEGER(reason)
00224 
00225     INTEGER(session_id)
00226     )
00227 
00228 WAPEVENT(S_Resume_Ind, "S-Resume.ind",
00229     ADDRTUPLE(addr_tuple)
00230     HTTPHEADER(client_headers)
00231 
00232     INTEGER(session_id)
00233     )
00234 
00235 WAPEVENT(S_Resume_Res, "S-Resume.res",
00236     HTTPHEADER(server_headers)
00237 
00238     INTEGER(session_id)
00239     )
00240 
00241 /*
00242  * Session layer (WSP), client side
00243  */
00244 
00245 WAPEVENT(S_Connect_Req, "S-Connect.req",
00246     ADDRTUPLE(addr_tuple)
00247     HTTPHEADER(client_headers)
00248     CAPABILITIES(requested_capabilities)
00249 
00250     INTEGER(session_handle)
00251     )
00252 
00253 WAPEVENT(S_Suspend_Req, "S-Suspend.req",
00254 
00255     INTEGER(session_handle)
00256     )
00257 
00258 WAPEVENT(S_Resume_Req, "S-Resume.req",
00259     ADDRTUPLE(addr_tuple)
00260     HTTPHEADER(client_headers)
00261 
00262     INTEGER(session_handle)
00263     )
00264 
00265 WAPEVENT(S_Resume_Cnf, "S-Resume.cnf",
00266     HTTPHEADER(server_headers)
00267 
00268     INTEGER(session_handle)
00269     )
00270 
00271 /*
00272  * Session layer (WSP), events shared between server and client side
00273  * On the server side, the "handle" field is always the session id.
00274  */
00275 
00276 WAPEVENT(S_Disconnect_Req, "S-Disconnect.req",
00277     INTEGER(reason_code)
00278     INTEGER(redirect_security)  /* Only meaningful if redirecting */
00279     INTEGER(redirect_addresses) /* FIXME: Wrong type, not used */
00280     OPTIONAL_OCTSTR(error_headers)
00281     OPTIONAL_OCTSTR(error_body)
00282 
00283     INTEGER(session_handle)
00284     )
00285 
00286 WAPEVENT(S_Disconnect_Ind, "S-Disconnect.ind",
00287     INTEGER(reason_code)
00288     INTEGER(redirect_security)  /* Only meaningful if redirecting */
00289     INTEGER(redirect_addresses) /* FIXME: Wrong type, not used */
00290     OPTIONAL_OCTSTR(error_headers)
00291     OPTIONAL_OCTSTR(error_body)
00292 
00293     INTEGER(session_handle)
00294     )
00295 
00296 /*
00297  * Pseudo-events used by session layer
00298  */
00299 
00300 WAPEVENT(Disconnect_Event, "Disconnect",
00301 
00302     INTEGER(session_handle)
00303     )
00304 
00305 WAPEVENT(Suspend_Event, "Suspend",
00306 
00307     INTEGER(session_handle)
00308     )
00309 
00310 WAPEVENT(Release_Event, "Release",
00311 
00312     INTEGER(dummy)
00313     )
00314 
00315 WAPEVENT(Abort_Event, "Abort",
00316     INTEGER(reason)
00317     )
00318 
00319 /*
00320  * Per-method events for session layer, server side
00321  */
00322 
00323 WAPEVENT(S_MethodInvoke_Ind, "S-MethodInvoke.ind",
00324     INTEGER(server_transaction_id)
00325     OCTSTR(method)              /* All caps */
00326     OCTSTR(request_uri)
00327     HTTPHEADER(request_headers)
00328     OPTIONAL_OCTSTR(request_body)
00329 
00330     HTTPHEADER(session_headers)
00331     ADDRTUPLE(addr_tuple)
00332     INTEGER(client_SDU_size)
00333     INTEGER(session_id)
00334     )
00335 
00336 WAPEVENT(S_MethodInvoke_Res, "S-MethodInvoke.res",
00337     INTEGER(server_transaction_id)
00338 
00339     INTEGER(session_id)
00340     )
00341 
00342 WAPEVENT(S_MethodResult_Req, "S-MethodResult.req",
00343     INTEGER(server_transaction_id)
00344     INTEGER(status)
00345     HTTPHEADER(response_headers)
00346     OPTIONAL_OCTSTR(response_body)
00347 
00348     INTEGER(session_id)
00349     )
00350 
00351 WAPEVENT(S_MethodResult_Cnf, "S-MethodResult.cnf",
00352     INTEGER(server_transaction_id)
00353 
00354     INTEGER(session_id)
00355     )
00356 
00357 /*
00358  * Per-method events for session layer, client side
00359  */
00360 
00361 WAPEVENT(S_MethodInvoke_Req, "S-MethodInvoke.req",
00362     INTEGER(client_transaction_id)
00363     OCTSTR(method)
00364     OCTSTR(request_uri)
00365     HTTPHEADER(request_headers)
00366     OPTIONAL_OCTSTR(request_body)
00367 
00368     INTEGER(session_handle)
00369     )
00370 
00371 WAPEVENT(S_MethodInvoke_Cnf, "S-MethodInvoke.cnf",
00372     INTEGER(client_transaction_id)
00373 
00374     INTEGER(session_handle)
00375     )
00376 
00377 WAPEVENT(S_MethodResult_Ind, "S-MethodResult.ind",
00378     INTEGER(client_transaction_id)
00379     INTEGER(status)
00380     HTTPHEADER(response_headers)
00381     OPTIONAL_OCTSTR(response_body)
00382 
00383     INTEGER(session_handle)
00384     )
00385 
00386 WAPEVENT(S_MethodResult_Res, "S-MethodResult.res",
00387     INTEGER(client_transaction_id)
00388 
00389     INTEGER(session_handle)
00390     )
00391 
00392 /*
00393  * Per-method events used by the session layer
00394  * These events are used by both client and server side.
00395  */
00396 
00397 WAPEVENT(S_MethodAbort_Req, "S-MethodAbort.req",
00398     INTEGER(transaction_id)
00399 
00400     INTEGER(session_handle)
00401     )
00402 
00403 WAPEVENT(S_MethodAbort_Ind, "S-MethodAbort.ind",
00404     INTEGER(transaction_id)
00405     INTEGER(reason)
00406 
00407     INTEGER(session_handle)
00408     )
00409 
00410 /*
00411  * Per-push events used by the session layer
00412  */
00413 
00414 WAPEVENT(S_Push_Req, "S-Push.req",
00415     HTTPHEADER(push_headers)
00416     OPTIONAL_OCTSTR(push_body)
00417 
00418     INTEGER(session_id)
00419     )
00420 
00421 WAPEVENT(S_Push_Ind, "S-Push.ind",
00422     HTTPHEADER(push_headers)
00423     OPTIONAL_OCTSTR(push_body)
00424 
00425     INTEGER(session_handle)
00426     HTTPHEADER(session_headers)
00427     )
00428 
00429 WAPEVENT(S_ConfirmedPush_Req, "S-ConfirmedPush.req",
00430         INTEGER(server_push_id)
00431         HTTPHEADER(push_headers)
00432         OPTIONAL_OCTSTR(push_body)
00433 
00434         INTEGER(session_id)
00435         )
00436 
00437 WAPEVENT(S_ConfirmedPush_Ind, "S-ConfirmedPush.ind",
00438     INTEGER(client_push_id)
00439     HTTPHEADER(push_headers)
00440         OPTIONAL_OCTSTR(push_body)
00441 
00442     INTEGER(session_handle)
00443     )
00444 
00445 WAPEVENT(S_ConfirmedPush_Res, "S-ConfirmedPush.res",
00446     INTEGER(client_push_id)
00447 
00448     INTEGER(session_handle)
00449     )
00450 
00451 WAPEVENT(S_ConfirmedPush_Cnf, "S-ConfirmedPush.cnf",
00452         INTEGER(server_push_id)
00453 
00454     INTEGER(session_id)
00455         )
00456 
00457 WAPEVENT(S_PushAbort_Ind, "S-PushAbort.ind",
00458         INTEGER(push_id)
00459         INTEGER(reason)
00460 
00461         INTEGER(session_id)
00462         )
00463 
00464 /*
00465  * The specification of S-PushAbort seems to assume that only the
00466  * client can issue an S-PushAbort.req, and only the server can get
00467  * an S-PushAbort.ind.  This is contradicted by the state tables.
00468  * That's why the definitions here use just "push_id" instead of
00469  * server_push_id and client_push_id.
00470  */
00471 
00472 WAPEVENT(S_PushAbort_Req, "S-PushAbort.req",
00473     INTEGER(push_id)
00474         INTEGER(reason)
00475 
00476     INTEGER(session_handle)
00477     )
00478 
00479 WAPEVENT(Push_Abort, "Internal abort",
00480          INTEGER(reason)
00481         )
00482 
00483 /*
00484  * Events created by unpacking T-DUnitdata.ind events.
00485  * Used by WTP layer.
00486  */
00487 
00488 WAPEVENT(RcvInvoke, "RcvInvoke",
00489     OCTSTR(user_data)
00490     INTEGER(tcl)
00491     INTEGER(tid)
00492     INTEGER(tid_new)
00493     INTEGER(rid)
00494     INTEGER(up_flag)
00495     INTEGER(no_cache_supported)
00496     INTEGER(version)
00497     INTEGER(gtr)
00498     INTEGER(ttr)
00499     ADDRTUPLE(addr_tuple)
00500     )
00501 
00502 WAPEVENT(RcvSegInvoke, "RcvSegInvoke",
00503     OCTSTR(user_data)
00504     INTEGER(tid)
00505     INTEGER(rid)
00506     INTEGER(no_cache_supported)
00507     INTEGER(gtr)
00508     INTEGER(ttr)
00509     INTEGER(psn)
00510     ADDRTUPLE(addr_tuple)
00511     )
00512 
00513 WAPEVENT(RcvResult, "RcvResult",
00514     OCTSTR(user_data)
00515     INTEGER(tid)
00516     INTEGER(rid)
00517     INTEGER(gtr)
00518     INTEGER(ttr)
00519     ADDRTUPLE(addr_tuple)
00520     )
00521 
00522 WAPEVENT(RcvAbort, "RcvAbort",
00523     INTEGER(tid)
00524     INTEGER(abort_type)
00525     INTEGER(abort_reason)
00526     ADDRTUPLE(addr_tuple)
00527     )
00528 
00529 WAPEVENT(RcvAck, "RcvAck",
00530     INTEGER(tid)
00531     INTEGER(tid_ok)
00532     INTEGER(rid)
00533     INTEGER(psn)
00534     ADDRTUPLE(addr_tuple)
00535     )
00536 
00537 WAPEVENT(RcvNegativeAck, "RcvNack",
00538     INTEGER(tid)
00539     INTEGER(rid)
00540     INTEGER(nmissing)
00541     OPTIONAL_OCTSTR(missing)
00542     ADDRTUPLE(addr_tuple)
00543     )
00544 
00545 /*
00546  * Other events used by WTP layer.
00547  */
00548 
00549 WAPEVENT(TimerTO_A, "Timeout-A",
00550     INTEGER(handle)
00551     )
00552 
00553 WAPEVENT(TimerTO_R, "Timeout-R",
00554     INTEGER(handle)
00555     )
00556 
00557 WAPEVENT(TimerTO_W, "Timeout-W",
00558     INTEGER(handle)
00559     )
00560 
00561 WAPEVENT(RcvErrorPDU, "RcvErrorPDU",
00562     INTEGER(tid)
00563     ADDRTUPLE(addr_tuple)
00564     )
00565 
00566 /*
00567  * Events used by connectionless session protocol (WSP)
00568  */
00569 
00570 WAPEVENT(S_Unit_MethodInvoke_Req, "S-Unit-MethodInvoke.req",
00571     ADDRTUPLE(addr_tuple)
00572     INTEGER(transaction_id)
00573     OCTSTR(method)
00574     OCTSTR(request_uri)
00575     HTTPHEADER(request_headers)
00576     OPTIONAL_OCTSTR(request_body)
00577     )
00578 
00579 WAPEVENT(S_Unit_MethodInvoke_Ind, "S-Unit_MethodInvoke.ind",
00580     ADDRTUPLE(addr_tuple)
00581     INTEGER(transaction_id)
00582     OCTSTR(method)              /* All caps */
00583     OCTSTR(request_uri)
00584     HTTPHEADER(request_headers)
00585     OPTIONAL_OCTSTR(request_body)
00586     )
00587 
00588 WAPEVENT(S_Unit_MethodResult_Req, "S-Unit-MethodResult.req",
00589     ADDRTUPLE(addr_tuple)
00590     INTEGER(transaction_id)
00591     INTEGER(status)
00592     HTTPHEADER(response_headers)
00593     OPTIONAL_OCTSTR(response_body)
00594     )
00595 
00596 WAPEVENT(S_Unit_MethodResult_Ind, "S-Unit-MethodResult.ind",
00597     ADDRTUPLE(addr_tuple)
00598     INTEGER(transaction_id)
00599     INTEGER(status)
00600     HTTPHEADER(response_headers)
00601     OPTIONAL_OCTSTR(response_body)
00602     )
00603 
00604 WAPEVENT(S_Unit_Push_Req, "S-Unit-Push.req",
00605     ADDRTUPLE(addr_tuple)
00606     INTEGER(push_id)
00607     HTTPHEADER(push_headers)
00608     OPTIONAL_OCTSTR(push_body)
00609 
00610     INTEGER(address_type)
00611     OPTIONAL_OCTSTR(smsc_id)
00612     INTEGER(dlr_mask)
00613     OPTIONAL_OCTSTR(dlr_url)
00614     OPTIONAL_OCTSTR(smsbox_id)
00615     OPTIONAL_OCTSTR(service_name)
00616     )
00617 
00618 WAPEVENT(S_Unit_Push_Ind, "S-Unit-Push.ind",
00619     ADDRTUPLE(addr_tuple)
00620     INTEGER(push_id)
00621     HTTPHEADER(push_headers)
00622     OPTIONAL_OCTSTR(push_body)
00623     )
00624 
00625 /*
00626  * Events used by push OTA protocol, server side
00627  */
00628 
00629 WAPEVENT(Pom_SessionRequest_Req, "Pom-SessionRequest.req",
00630     ADDRTUPLE(addr_tuple)
00631     HTTPHEADER(push_headers)
00632         
00633     INTEGER(push_id)
00634     INTEGER(address_type)
00635     OPTIONAL_OCTSTR(smsc_id)
00636     INTEGER(dlr_mask)
00637     OPTIONAL_OCTSTR(dlr_url)
00638     OPTIONAL_OCTSTR(smsbox_id)
00639     OPTIONAL_OCTSTR(service_name)
00640     )
00641 
00642 WAPEVENT(Pom_Connect_Ind, "Pom-Connect.ind",
00643     ADDRTUPLE(addr_tuple)
00644     HTTPHEADER(push_headers)
00645     CAPABILITIES(requested_capabilities)
00646     HTTPHEADER(accept_application)
00647     HTTPHEADER(bearer_indication)
00648 
00649     INTEGER(session_id)
00650     INTEGER(push_id)
00651     )
00652 
00653 WAPEVENT(Pom_Connect_Res, "Pom-Connect.res",
00654     CAPABILITIES(negotiated_capabilities)
00655 
00656     INTEGER(session_id)
00657     )
00658 
00659 WAPEVENT(Pom_Disconnect_Ind, "Pom-Disconnect.ind",
00660     INTEGER(reason_code)
00661     INTEGER(redirect_security)  /* Only meaningful if redirecting*/ 
00662     INTEGER(redirect_addresses) /* FIXME: Wrong type, not used */
00663     OPTIONAL_OCTSTR(error_headers)
00664     OPTIONAL_OCTSTR(error_body)
00665 
00666     INTEGER(session_handle)
00667     )
00668 
00669 WAPEVENT(Pom_Suspend_Ind, "Pom-Suspend.ind",
00670     INTEGER(reason)
00671 
00672     INTEGER(session_id) 
00673     )
00674 
00675 WAPEVENT(Pom_Resume_Ind, "Pom-Resume.ind",
00676     ADDRTUPLE(addr_tuple)
00677     HTTPHEADER(client_headers)
00678     HTTPHEADER(bearer_indication)
00679 
00680     INTEGER(session_id)
00681     )
00682 
00683 WAPEVENT(Po_Push_Req, "Po-Push.req",
00684     HTTPHEADER(push_headers)
00685     INTEGER(authenticated)
00686     INTEGER(trusted)
00687     INTEGER(last)
00688     OPTIONAL_OCTSTR(push_body)
00689 
00690     INTEGER(session_handle)
00691     )
00692 
00693 WAPEVENT(Po_ConfirmedPush_Req, "Po-ConfirmedPush.req",
00694     INTEGER(server_push_id)
00695     HTTPHEADER(push_headers)
00696     INTEGER(authenticated)
00697     INTEGER(trusted)
00698     INTEGER(last)
00699     OPTIONAL_OCTSTR(push_body)
00700 
00701     INTEGER(session_handle)
00702     )
00703 
00704 WAPEVENT(Po_ConfirmedPush_Cnf, "Po-ConfirmedPush.Cnf",
00705     INTEGER(server_push_id)
00706 
00707     INTEGER(session_handle)
00708     )
00709 
00710 WAPEVENT(Po_Unit_Push_Req, "Po-Unit-Push.req",
00711     ADDRTUPLE(addr_tuple)
00712     INTEGER(push_id)
00713     HTTPHEADER(push_headers)
00714     INTEGER(authenticated)
00715     INTEGER(trusted)
00716     INTEGER(last)
00717     OPTIONAL_OCTSTR(push_body)
00718 
00719     INTEGER(address_type)
00720     OPTIONAL_OCTSTR(smsc_id)
00721     INTEGER(dlr_mask)
00722     OPTIONAL_OCTSTR(dlr_url)
00723     OPTIONAL_OCTSTR(smsbox_id)
00724     OPTIONAL_OCTSTR(service_name)
00725     )
00726 
00727 WAPEVENT(Po_PushAbort_Req, "Po-PushAbort.req",
00728     INTEGER(push_id)
00729     INTEGER(reason)
00730 
00731     INTEGER(session_id)
00732     )
00733 
00734 WAPEVENT(Po_PushAbort_Ind, "Po-PushAbort.ind",
00735     INTEGER(push_id)
00736     INTEGER(reason)
00737 
00738     INTEGER(session_handle)
00739     )
00740 
00741 /*
00742  * Following events are used communicating between PPG main module (implement-
00743  * ing main logic of PPG) and PAP module. These are defined in Push Access 
00744  * Protocol, chapter 9.
00745  * Note here is one address, one group of push headers, one push body and one
00746  * group of capabilities. We should use list of address_values  for multiple 
00747  * addresses (optional) and Lists of push headers, push data and capabilities 
00748  * for multipart (non-nested mandatory). 
00749  * Note, too, that we do not yet support multiple addresses.
00750  * Optional fields, if PAP control message originally does not contain one, 
00751  * should be set NULL, and mandatory fields non-NULL.
00752  */
00753 
00754 WAPEVENT(Push_Message, "push-message",
00755     OCTSTR(pi_push_id)
00756     OPTIONAL_OCTSTR(deliver_before_timestamp)   /* using PAP format */
00757     OPTIONAL_OCTSTR(deliver_after_timestamp)    /* ditto */
00758     OPTIONAL_OCTSTR(source_reference)
00759     OPTIONAL_OCTSTR(ppg_notify_requested_to)
00760     INTEGER(progress_notes_requested)
00761     OCTSTR(address_value)                       /* as parsed PAP */
00762     INTEGER(address_type)
00763     INTEGER(priority)
00764     INTEGER(delivery_method)
00765     OPTIONAL_OCTSTR(network)
00766     INTEGER(network_required)
00767     OPTIONAL_OCTSTR(bearer)
00768     INTEGER(bearer_required)
00769     HTTPHEADER(push_headers)
00770     OPTIONAL_OCTSTR(push_data)
00771     CAPABILITIES(pi_capabilities)
00772     OPTIONAL_OCTSTR(smsc_id)
00773     INTEGER(dlr_mask)
00774     OPTIONAL_OCTSTR(dlr_url)
00775     OPTIONAL_OCTSTR(smsbox_id)
00776     OPTIONAL_OCTSTR(service_name)
00777     OPTIONAL_OCTSTR(product_name)
00778 )
00779 
00780 /*
00781  * Push response element indicates that there will be no more progress notes,
00782  * see Push Access Protocol, 9.3.2.
00783  */
00784 WAPEVENT(Push_Response, "push-response",
00785     OCTSTR(pi_push_id)
00786     OPTIONAL_OCTSTR(sender_name)
00787     OPTIONAL_OCTSTR(reply_time)
00788     OPTIONAL_OCTSTR(sender_address)
00789     INTEGER(code)
00790     OPTIONAL_OCTSTR(desc)
00791     OPTIONAL_OCTSTR(product_name)
00792     )
00793 
00794 /*
00795  * This is for debugging PIs. One note per stage. See Push Access Protocol,
00796  * 9.3.1.PPG main module sends these separately to PAP. 
00797  */
00798 WAPEVENT(Progress_Note, "progress-note",
00799     INTEGER(stage)
00800     OPTIONAL_OCTSTR(note)
00801     OPTIONAL_OCTSTR(time)
00802 )
00803 
00804 /*
00805  * Element bad-message-response is defined in PAP, Implementation Note, 
00806  * chapter 5. 
00807  */
00808 WAPEVENT(Bad_Message_Response, "badmessage-response",
00809     INTEGER(code)
00810     OPTIONAL_OCTSTR(desc)
00811     OPTIONAL_OCTSTR(bad_message_fragment)
00812 )
00813 
00814 #undef WAPEVENT
00815 #undef OCTSTR
00816 #undef OPTIONAL_OCTSTR
00817 #undef INTEGER
00818 #undef WTLSPDUS
00819 #undef HTTPHEADER
00820 #undef ADDRTUPLE
00821 #undef CAPABILITIES
00822 
00823 
00824 
00825 
00826 
See file LICENSE for details about the license agreement for using, modifying, copying or deriving work from this software.