package org.mobicents.servlet.sip.example; import org.apache.log4j.Logger; import org.mobicents.mscontrol.MsLink; import org.mobicents.mscontrol.MsNotificationListener; import org.mobicents.mscontrol.MsNotifyEvent; import org.mobicents.mscontrol.events.MsEventFactory; import org.mobicents.mscontrol.events.MsEventIdentifier; import org.mobicents.mscontrol.events.MsRequestedEvent; import org.mobicents.mscontrol.events.MsRequestedSignal; import org.mobicents.mscontrol.events.dtmf.MsDtmfNotifyEvent; import org.mobicents.mscontrol.events.dtmf.MsDtmfRequestedEvent; import org.mobicents.mscontrol.events.pkg.DTMF; public class DTMFListener implements MsNotificationListener { private static Logger logger = Logger.getLogger(DTMFListener.class); MsEventFactory eventFactory; MsLink link; public DTMFListener(MsEventFactory eventFactory, MsLink link) { this.eventFactory = eventFactory; this.link = link; } public void update(MsNotifyEvent evt) { MsEventIdentifier identifier = evt.getEventID(); if (identifier.equals(DTMF.TONE)) { MsDtmfNotifyEvent event = (MsDtmfNotifyEvent) evt; String signal = event.getSequence(); logger.info("DTMF received " + signal); } MsDtmfRequestedEvent dtmf = (MsDtmfRequestedEvent) eventFactory.createRequestedEvent(DTMF.TONE); MsRequestedSignal[] signals = new MsRequestedSignal[] {}; MsRequestedEvent[] events = new MsRequestedEvent[] { dtmf }; link.getEndpoints()[0].execute(signals, events, link); } public void resourceCreated(MsNotifyEvent arg0) { // TODO Auto-generated method stub } public void resourceInvalid(MsNotifyEvent arg0) { // TODO Auto-generated method stub } }