Deattaching in DriverImpl

18 views
Skip to first unread message

Sergey Epik

unread,
May 13, 2015, 8:33:16 AM5/13/15
to sipme-med...@googlegroups.com
Hello,

1. Trying scenario similar to media-jsr309-servlet (from mss examples):

- PromptAndCollectServlet calls SignalDetector.receiveSignals
- implementation registers JainMgcpListener in SignalDetectorImpl.requestPlayCollect
:

driver.attach(reqID, this);


It's not clear where driver.deattach should be called.
Jsr-309 client doesn't call deattach, so DriverImpl.requestListeners contains references to all request listeners and garbage collector can not collect them.
As workaround I've added deattaching in the following chain:
MediaGroupImpl.release ->
MediaGroupImpl.release ->SignalDetectorImpl.release -> driver.deattach(JainMgcpListener).

2.
W
hat is the purpose of 300 ms sleep in ContainerImpl.unjoin()? Is it safe to remove it?

--
Sergey


oifa.yulian

unread,
May 14, 2015, 4:28:27 AM5/14/15
to sipme-med...@googlegroups.com
Hello
1)
For Request deattach should be called on mgcp Response Event
https://code.google.com/p/sipme-media-server/source/browse/client/jsr-309/driver/src/main/java/ua/mobius/javax/media/mscontrol/mediagroup/signals/SignalDetectorImpl.java#347
For Transaction deattach should be called when transaction is over , which means on notify
https://code.google.com/p/sipme-media-server/source/browse/client/jsr-309/driver/src/main/java/ua/mobius/javax/media/mscontrol/mediagroup/signals/SignalDetectorImpl.java#358

On flush buffer and stop handlers both should be called on response event.
2) You can try to , if i am not mistaken it was added previously to cause one by one DLCX requests on mgcp , however currently they are supposed to be handled succesfully concurrently.

Best regards
Yulian Oifa
Reply all
Reply to author
Forward
0 new messages