Hey all,
According to an e-mail discussion with Jean Deruelle I post a short
list of questions/problems I've observed using
mss-0.9-jboss-4.2.3.GA-0904211307 here. Most of them're spreading over
both Mobicents Sip Servlets and Mobicents Media Server. Here is the
list:
1. Is there a chance to set codecs priority in media-server config ?
Changing the codecs order in config seems not help.
2. When there is no common audio codecs between UA and media-server,
mss reports:
IOException while trying to create Connection
java.io.IOException: Codecs are not negotiated
If UA send, this sdp payload (doesn't put telephone-event (101)):
v=0
o=bpawlikowska 5972727 56415 IN IP4 87.204.222.10
s=SIP Call
c=IN IP4 213.218.116.71
t=0 0
m=audio 11506 RTP/AVP 2
a=rtpmap:2 g726-32/8000
a=ptime:20
a=sendrecv
mss response with:
2009-04-28 10:35:49,942 INFO
[org.mobicents.servlet.sip.core.dispatchers.InitialRequestDispatcher]
Request event dispatched to AnnouncementServer
2009-04-28 10:35:49,943 ERROR
[org.mobicents.mscontrol.impl.MsConnectionImpl] IOException while
trying to create Connection
java.io.IOException: Codecs are not negotiated
at
org.mobicents.media.server.impl.RtpConnectionImpl.setRemoteDescriptor(RtpConnectionImpl.java:289)
at
org.mobicents.mscontrol.impl.MsConnectionImpl$CreateTx.run(MsConnectionImpl.java:246)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Shouldn't be better if MSS responses with 488 sip code ?
3. When I send, invite with SDP payload like:
v=0
o=- 1 2 IN IP4 10.0.0.160
s=CounterPath eyeBeam 1.5
c=IN IP4 217.98.91.252
t=0 0
m=audio 10846 RTP/AVP 9 101
a=alt:1 1 : HaS3RB9N rp63cD4N 10.0.0.160 29094
a=fmtp:101 0-15
a=rtpmap:101 telephone-event/8000
a=sendrecv
MSS responses with:
v=0
o=MediaServer 4583091 4583091 IN IP4 217.98.91.250
s=session
c=IN IP4 217.98.91.250
t=0 0
m=audio 1066 RTP/AVP 101
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=fmtp:101 0-15
Shouldn't I get 488 too? There is no negotiated audio codecs.
4. Media server puts twice: Media Attribute (a): fmtp:101 0-15 the
sdp, Why ?:)
5. From times to times I see in logs:
2009-04-28 09:05:17,393 ERROR [Mobicents-SIP-Servlets] Receiver
port not set
java.io.IOException: Receiver port not set
at
gov.nist.javax.sip.stack.UDPMessageChannel.sendMessage(UDPMessageChannel.java:636)
at
gov.nist.javax.sip.stack.MessageChannel.sendMessage(MessageChannel.java:237)
at
gov.nist.javax.sip.stack.SIPTransaction.sendMessage(SIPTransaction.java:738)
at
gov.nist.javax.sip.stack.SIPServerTransaction.fireRetransmissionTimer(SIPServerTransaction.java:1175)
at
gov.nist.javax.sip.stack.SIPTransaction.fireTimer(SIPTransaction.java:643)
at
gov.nist.javax.sip.stack.SIPServerTransaction$TransactionTimer.runTask(SIPServerTransaction.java:382)
at
gov.nist.javax.sip.stack.SIPStackTimerTask.run(SIPStackTimerTask.java:29)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
and:
2009-04-29 08:33:45,220 ERROR [STDERR]
java.lang.NullPointerException
2009-04-29 08:33:45,221 ERROR [STDERR] at
org.mobicents.media.server.impl.AbstractSignal.getMediaSource(AbstractSignal.java:46)
2009-04-29 08:33:45,221 ERROR [STDERR] at
org.mobicents.media.server.impl.events.announcement.AnnSignal.apply(AnnSignal.java:40)
2009-04-29 08:33:45,221 ERROR [STDERR] at
org.mobicents.media.server.impl.SignalQueue.next(SignalQueue.java:68)
2009-04-29 08:33:45,221 ERROR [STDERR] at
org.mobicents.media.server.impl.SignalQueue.offer(SignalQueue.java:51)
2009-04-29 08:33:45,221 ERROR [STDERR] at
org.mobicents.media.server.impl.BaseEndpoint$ExecuteCommand.run(BaseEndpoint.java:890)
2009-04-29 08:33:45,222 ERROR [STDERR] at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
2009-04-29 08:33:45,222 ERROR [STDERR] at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
2009-04-29 08:33:45,222 ERROR [STDERR] at
java.lang.Thread.run(Thread.java:595)
Is that normal ?
5. I'd also ask about Via, and Record-Route header. Format of
headers MSS responses is kinda strange. Doesn't the server should put
each Route or Via into separate header, not just separate them with
comma
char?.
We're using Kamalio SIP server at our platform and those headers
are not compatible with them.
6. How should I configure DAR (or anything else, servlet-selection in
sip.xml seems not work) to route incoming invites to each
sip-servlets (deployed on the same server) based on theirs sip-uri. For
example:
sip:voic...@domain.com is routing to voicemail sip-servlet
sip:an...@domain.com is routing to announcement sip-servlet
7. Doesn't the MSS has memory leaks or this is just an development
issue?
2009-04-30 11:21:15,504 ERROR
[org.mobicents.servlet.sip.core.dispatchers.DispatchTask] Unexpected
exception while processing message
[message here]
java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:574)
at
java.util.concurrent.ThreadPoolExecutor.addIfUnderCorePoolSize(ThreadPoolExecutor.java:426)
at
java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:859)
at
java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:31)
at
java.util.concurrent.Executors$DelegatedExecutorService.submit(Executors.java:603)
at
org.mobicents.mscontrol.impl.MsSessionImpl.sendEvent(MsSessionImpl.java:117)
at
org.mobicents.mscontrol.impl.MsSessionImpl.setState(MsSessionImpl.java:135)
at
org.mobicents.mscontrol.impl.MsSessionImpl.<init>(MsSessionImpl.java:58)
at
org.mobicents.mscontrol.impl.MsProviderImpl.createSession(MsProviderImpl.java:74)
at
pl.carrierex.AnnouncementServer.doInvite(AnnouncementServer.java:47)
at javax.servlet.sip.SipServlet.doRequest(SipServlet.java:225)
at javax.servlet.sip.SipServlet.service(SipServlet.java:325)
at
org.mobicents.servlet.sip.core.dispatchers.MessageDispatcher.callServlet(MessageDispatcher.java:202)
at
org.mobicents.servlet.sip.core.dispatchers.InitialRequestDispatcher$1.dispatch(InitialRequestDispatcher.java:405)
at
org.mobicents.servlet.sip.core.dispatchers.DispatchTask.run(DispatchTask.java:51)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Best Regards,
Mariusz Rutkowski