[Asterisk-java-cvs] CVS: asterisk-java/src/java/net/sf/asterisk/manager DefaultAsteriskManager.java,
Brought to you by:
srt
From: Stefan R. <sr...@us...> - 2005-08-15 13:32:44
|
Update of /cvsroot/asterisk-java/asterisk-java/src/java/net/sf/asterisk/manager In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26096/src/java/net/sf/asterisk/manager Modified Files: DefaultAsteriskManager.java Log Message: Added handling of NewCallerIdEvent Index: DefaultAsteriskManager.java =================================================================== RCS file: /cvsroot/asterisk-java/asterisk-java/src/java/net/sf/asterisk/manager/DefaultAsteriskManager.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -p -r1.18 -r1.19 --- DefaultAsteriskManager.java 15 Aug 2005 12:34:13 -0000 1.18 +++ DefaultAsteriskManager.java 15 Aug 2005 13:32:32 -0000 1.19 @@ -35,6 +35,7 @@ import net.sf.asterisk.manager.event.Dis import net.sf.asterisk.manager.event.HangupEvent; import net.sf.asterisk.manager.event.LinkEvent; import net.sf.asterisk.manager.event.ManagerEvent; +import net.sf.asterisk.manager.event.NewCallerIdEvent; import net.sf.asterisk.manager.event.NewChannelEvent; import net.sf.asterisk.manager.event.NewExtenEvent; import net.sf.asterisk.manager.event.NewStateEvent; @@ -394,6 +395,10 @@ public class DefaultAsteriskManager { handleNewStateEvent((NewStateEvent) event); } + else if (event instanceof NewCallerIdEvent) + { + handleNewCallerIdEvent((NewCallerIdEvent) event); + } else if (event instanceof LinkEvent) { handleLinkEvent((LinkEvent) event); @@ -686,7 +691,28 @@ public class DefaultAsteriskManager return; } - channel.setState(ChannelStateEnum.getEnum(event.getState())); + synchronized (channel) + { + channel.setState(ChannelStateEnum.getEnum(event.getState())); + } + } + + protected void handleNewCallerIdEvent(NewCallerIdEvent event) + { + Channel channel = getChannelById(event.getUniqueId()); + + if (channel == null) + { + logger.error("Ignored NewCallerIdEvent for unknown channel " + + event.getChannel()); + return; + } + + synchronized (channel) + { + channel.setCallerId(event.getCallerId()); + channel.setCallerIdName(event.getCallerIdName()); + } } protected void handleHangupEvent(HangupEvent event) |