6. MmsPush.cpp MmsHandlePushMsg() MmsCheckTid() MmsPushOpenCreateDB() MmsPushAddNewDB() * Parse PDU, call MmsNotificationHanler(), MmsDeliveryHandler() * Check if there have redundant messages * Open existed records in DB * Add new records into DB * Register/Unregister Push Client Functional Block Operation WinMain()
7. MmsPushHandler.cpp EstablishConnection() MmsNotificationHandler() MmsDeliveryHandler() Functional Block Operation * Parse PDUs that except from MmsNotificationHandler() 1) Handle M-Notification.ind 2) Send WSP/HTTP GET.req 3) Parse M-Retrieve.conf 3.1) Save files (JPG,GIF) 4) Send M-NotifyResp.ind * Operate with Connection Manager MmsHandlePushMsg()
8. Transaction Model – Sending, Retrieval, Notification & Delivery Report MMS Overview MMS Architecture Client Transaction Encapsulation Protocol Orig MMS Client Target MMS Client MMS M (MM1) MMS M (MM1) MMS R (MM4) MMS R M-Send.req M-Send.conf M-Notification.ind WSP/HTTP GET.req M-NotifyResp.ind M-Retrieve.conf M-Delivery.ind Orig MMSC Target MMSC