[Asterisk-java-users] patch to ChannelManager.java
Brought to you by:
srt
From: King H. <kin...@ne...> - 2006-11-07 05:26:05
|
Index: = D:/Eclipse/asterisk-java/src/main/java/org/asteriskjava/live/internal/Cha= nnelManager.java=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= --- = D:/Eclipse/asterisk-java/src/main/java/org/asteriskjava/live/internal/Cha= nnelManager.java (revision 578)=0A= +++ = D:/Eclipse/asterisk-java/src/main/java/org/asteriskjava/live/internal/Cha= nnelManager.java (working copy)=0A= @@ -432,9 +446,31 @@=0A= }=0A= else=0A= {=0A= - synchronized (channel)=0A= - {=0A= - channel.setCallerId(new = CallerId(event.getCallerIdName(), event.getCallerId()));=0A= + synchronized (channel) {=0A= + =0A= + if (channel.getTraceId() =3D=3D null) {=0A= + =0A= + String traceId =3D getTraceId(channel);=0A= + channel.setTraceId(traceId);=0A= +=0A= + if (traceId !=3D null=0A= + && = (!channel.getName().toLowerCase().startsWith("local/") =0A= + || = channel.getName().endsWith(",1"))) {=0A= + final OriginateCallbackData callbackData;=0A= + callbackData =3D = server.getOriginateCallbackDataByTraceId(traceId);=0A= + if (callbackData !=3D null=0A= + && callbackData.getChannel() =3D=3D = null) {=0A= + callbackData.setChannel(channel);=0A= + try {=0A= + = callbackData.getCallback().onDialing(channel);=0A= + } catch (Throwable t) {=0A= + logger.warn("Exception dispatching = originate progress", t);=0A= + }=0A= + }=0A= + }=0A= + }=0A= + channel.setCallerId(new = CallerId(event.getCallerIdName(), event=0A= + .getCallerId()));=0A= }=0A= }=0A= }=0A= |