@@ -199,6 +199,14 @@ class SIPUAHelper extends EventManager {
199199 _notifyCallStateListeners (CallState (CallStateEnum .CALL_INITIATION ));
200200 });
201201
202+ this ._ua.on (EventNewMessage (), (EventNewMessage event) {
203+ logger.debug ('newMessage => ' + event.toString ());
204+ //Only notify incoming message to listener
205+ if (event.message.direction == 'incoming' ) {
206+ SIPMessageRequest message = new SIPMessageRequest (event.message, event.originator, event.request);
207+ _notifyNewMessageListeners (message);
208+ }
209+ });
202210 this ._ua.start ();
203211 } catch (e, s) {
204212 logger.error (e.toString (), null , s);
@@ -381,6 +389,12 @@ class SIPUAHelper extends EventManager {
381389 listener.callStateChanged (state);
382390 });
383391 }
392+
393+ void _notifyNewMessageListeners (SIPMessageRequest msg) {
394+ _sipUaHelperListeners.forEach ((listener) {
395+ listener.onNewMessage (msg);
396+ });
397+ }
384398}
385399
386400enum CallStateEnum {
@@ -443,10 +457,19 @@ class TransportState {
443457 TransportState (this .state, {this .cause});
444458}
445459
460+ class SIPMessageRequest {
461+ dynamic request;
462+ String originator;
463+ Message message;
464+ SIPMessageRequest (this .message, this .originator, this .request);
465+ }
466+
446467abstract class SipUaHelperListener {
447468 void transportStateChanged (TransportState state);
448469 void registrationStateChanged (RegistrationState state);
449470 void callStateChanged (CallState state);
471+ //For SIP new messaga coming
472+ void onNewMessage (SIPMessageRequest msg);
450473}
451474
452475class UaSettings {
0 commit comments