[jitsi-users] Issue: SIP Connector for sipgate.de : Invalid transport: UDP


#1

System: Linux Fedora 20 64bit
Version: Jitsi 2.9 5454 (nightly) / Jitsi 2.8 stable

Note:

Sipgate is useable, no clue why. Over time this bug eats memory and
crashes the system.

Bugreport:

2015-05-16 10:52:22.903 WARNUNG: [386]
service.resources.AbstractResourcesService.getSettingsInt().596 Missing
resource for key: net.java.sip.communicator.SIP_PREFERRED_CLEAR_PORT
2015-05-16 10:52:22.904 INFORMATION: [386]
impl.protocol.sip.SipLogger.logInfo().185 Info from the JAIN-SIP stack:
the sip stack timer gov.nist.javax.sip.stack.timers.DefaultSipTimer has
been started
2015-05-16 10:52:22.908 WARNUNG: [386]
service.resources.AbstractResourcesService.getSettingsInt().596 Missing
resource for key: net.java.sip.communicator.SIP_PREFERRED_SECURE_PORT
2015-05-16 10:52:55.062 INFORMATION: [407]
plugin.reconnectplugin.ReconnectPluginActivator.run().610 Reconnect
<USERID>@sipgate.de (SIP) after 2000 ms.
2015-05-16 10:52:55.063 INFORMATION: [388]
impl.protocol.sip.SipLogger.logInfo().185 Info from the JAIN-SIP stack:
the sip stack timer gov.nist.javax.sip.stack.timers.DefaultSipTimer has
been stopped
2015-05-16 10:52:56.064 INFORMATION: [388]
impl.protocol.sip.SipLogger.logInfo().185 Info from the JAIN-SIP stack:
the sip stack timer gov.nist.javax.sip.stack.timers.DefaultSipTimer has
been stopped
2015-05-16 10:52:57.062 INFORMATION: [409]
plugin.reconnectplugin.ReconnectPluginActivator.run().974 Start
reconnecting <USERID>@sipgate.de (SIP)
2015-05-16 10:52:57.065 WARNUNG: [409]
service.resources.AbstractResourcesService.getSettingsInt().596 Missing
resource for key: net.java.sip.communicator.SIP_PREFERRED_CLEAR_PORT
2015-05-16 10:52:57.066 SCHWERWIEGEND: [388]
impl.protocol.sip.SipRegistrarConnection.register().282 Failed to create
a Register request.
java.lang.IllegalArgumentException: Invalid transport: UDP
    at
net.java.sip.communicator.impl.protocol.sip.SipStackSharing.getLP(SipStackSharing.java:225)
    at
net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl.getListeningPoint(ProtocolProviderServiceSipImpl.java:1553)
    at
net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl.getLocalViaHeaders(ProtocolProviderServiceSipImpl.java:1213)
    at
net.java.sip.communicator.impl.protocol.sip.SipMessageFactory.createRegisterRequest(SipMessageFactory.java:1082)
    at
net.java.sip.communicator.impl.protocol.sip.SipRegistrarConnection.register(SipRegistrarConnection.java:257)
    at
net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl.registerUsingNextAddress(ProtocolProviderServiceSipImpl.java:2624)
    at
net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl.notifyConnectionFailed(ProtocolProviderServiceSipImpl.java:2668)
    at
net.java.sip.communicator.impl.protocol.sip.EventPackageSubscriber.processTimeout(EventPackageSubscriber.java:902)
    at
net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl.processTimeout(ProtocolProviderServiceSipImpl.java:810)
    at
net.java.sip.communicator.impl.protocol.sip.SipStackSharing.processTimeout(SipStackSharing.java:799)
    at gov.nist.javax.sip.EventScanner.deliverEvent(EventScanner.java:379)
    at
gov.nist.javax.sip.SipProviderImpl.handleEvent(SipProviderImpl.java:196)
    at
gov.nist.javax.sip.SipProviderImpl.transactionErrorEvent(SipProviderImpl.java:953)
    at
gov.nist.javax.sip.stack.SIPTransaction.raiseErrorEvent(SIPTransaction.java:931)
    at
gov.nist.javax.sip.stack.SIPClientTransaction.fireTimeoutTimer(SIPClientTransaction.java:1147)
    at
gov.nist.javax.sip.stack.SIPTransaction.fireTimer(SIPTransaction.java:689)
    at
gov.nist.javax.sip.stack.SIPClientTransaction$TransactionTimer.runTask(SIPClientTransaction.java:265)
    at
gov.nist.javax.sip.stack.timers.DefaultSipTimer$DefaultTimerTask.run(DefaultSipTimer.java:63)
    at java.util.TimerThread.mainLoop(Timer.java:555)
    at java.util.TimerThread.run(Timer.java:505)
2015-05-16 10:52:57.067 INFORMATION: [409]
impl.protocol.sip.SipLogger.logInfo().185 Info from the JAIN-SIP stack:
the sip stack timer gov.nist.javax.sip.stack.timers.DefaultSipTimer has
been started
2015-05-16 10:52:57.070 SCHWERWIEGEND: [388]
impl.protocol.sip.ProtocolProviderServiceSipImpl.registerUsingNextAddress().2641
Cannot send register!
net.java.sip.communicator.service.protocol.OperationFailedException:
Failed to generate a from header for our register request.
    at
net.java.sip.communicator.impl.protocol.sip.SipRegistrarConnection.register(SipRegistrarConnection.java:290)
    at
net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl.registerUsingNextAddress(ProtocolProviderServiceSipImpl.java:2624)
    at
net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl.notifyConnectionFailed(ProtocolProviderServiceSipImpl.java:2668)
    at
net.java.sip.communicator.impl.protocol.sip.EventPackageSubscriber.processTimeout(EventPackageSubscriber.java:902)
    at
net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl.processTimeout(ProtocolProviderServiceSipImpl.java:810)
    at
net.java.sip.communicator.impl.protocol.sip.SipStackSharing.processTimeout(SipStackSharing.java:799)
    at gov.nist.javax.sip.EventScanner.deliverEvent(EventScanner.java:379)
    at
gov.nist.javax.sip.SipProviderImpl.handleEvent(SipProviderImpl.java:196)
    at
gov.nist.javax.sip.SipProviderImpl.transactionErrorEvent(SipProviderImpl.java:953)
    at
gov.nist.javax.sip.stack.SIPTransaction.raiseErrorEvent(SIPTransaction.java:931)
    at
gov.nist.javax.sip.stack.SIPClientTransaction.fireTimeoutTimer(SIPClientTransaction.java:1147)
    at
gov.nist.javax.sip.stack.SIPTransaction.fireTimer(SIPTransaction.java:689)
    at
gov.nist.javax.sip.stack.SIPClientTransaction$TransactionTimer.runTask(SIPClientTransaction.java:265)
    at
gov.nist.javax.sip.stack.timers.DefaultSipTimer$DefaultTimerTask.run(DefaultSipTimer.java:63)
    at java.util.TimerThread.mainLoop(Timer.java:555)
    at java.util.TimerThread.run(Timer.java:505)
Caused by: java.lang.IllegalArgumentException: Invalid transport: UDP
    at
net.java.sip.communicator.impl.protocol.sip.SipStackSharing.getLP(SipStackSharing.java:225)
    at
net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl.getListeningPoint(ProtocolProviderServiceSipImpl.java:1553)
    at
net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl.getLocalViaHeaders(ProtocolProviderServiceSipImpl.java:1213)
    at
net.java.sip.communicator.impl.protocol.sip.SipMessageFactory.createRegisterRequest(SipMessageFactory.java:1082)
    at
net.java.sip.communicator.impl.protocol.sip.SipRegistrarConnection.register(SipRegistrarConnection.java:257)
    ... 15 more
2015-05-16 10:52:57.071 WARNUNG: [409]
service.resources.AbstractResourcesService.getSettingsInt().596 Missing
resource for key: net.java.sip.communicator.SIP_PREFERRED_SECURE_PORT
2015-05-16 10:52:57.072 INFORMATION: [415]
plugin.reconnectplugin.ReconnectPluginActivator.run().610 Reconnect
<USERID>@sipgate.de (SIP) after 4000 ms.


#2

System: Linux Fedora 20 64bit
Version: Jitsi 2.9 5454 (nightly) / Jitsi 2.8 stable

Note:

Sipgate is useable, no clue why. Over time this bug eats memory and
crashes the system.

I tcpdumped the connection and found this:

PUBLISH sip:<USERID>@sipgate.de SIP/2.0
Call-ID: 7b09a9efe9443e715dd13adf02acad16@0:0:0:0:0:0:0:0
CSeq: 2 PUBLISH
Via: SIP/2.0/UDP
10.0.0.3:5060;branch=z9hG4bK-313233-ff9524530d8e0bd6d1493c8b35d42fd9
Max-Forwards: 70
Content-Type: application/pidf+xml
Contact: "Telefon"
<sip:<USERID>@10.0.0.3:5060;transport=udp;registering_acc=sipgate_de>
User-Agent: Jitsi2.9.5454Linux
Expires: 3600
Event: presence
Content-Length: 413

<?xml version="1.0" encoding="UTF-8" standalone="no"?><presence
xmlns="urn:ietf:params:xml:ns:pidf"
xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model"
xmlns:rpid="urn:ietf:params:xml:ns:pidf:rpid"
entity="sip:<USERID>@sipgate.de"><dm:person
id="p4589"><rpid:activities/></dm:person><tuple
id="t1412"><status><basic>open</basic></status><contact>sip:<USERID>@sipgate.de</contact><note>Online</note></tuple></presence><C1>

*SIP/2.0 403 Forbidden*
Call-ID: 129299bfd14f7ab626058ce9a79d9375@0:0:0:0:0:0:0:0
CSeq: 1 SUBSCRIBE
<sip:<USERID>@sipgate.de>;tag=6d6e7f8f352adddb20da2b196524dfa8.dfe3
Via: SIP/2.0/UDP
10.0.0.3:5060;rport=34536;received=2.234.54.13;branch=z9hG4bK-313233-4be513edd2953b29ce49bb0f44fc2615
Content-Length: 0

/All userids & ips have been changed./

I notified sipgate with the network dump, maybe some enlightment comes
from it.

Marius

···

Am 16.06.2015 um 11:20 schrieb Marius:
From: "Telefon" <sip:<USERID>@sipgate.de>;tag=fef27e38
To: "Telefon" <sip:<USERID>@sipgate.de>
From: "Telefon" <sip:<USERID>@sipgate.de>;tag=d256fd4e
To: "Telefon"


#3

Here the answere from Sipgate:

···

-------------------------------------------------------------------------------------------
#Das 403 kommt auf das PUBLISH, welches wir nicht unterstützen. Normal
müsste aber eine Fehlermeldung 501 kommen, was eher korrekt wäre.
#Normal müsste Jitsi->Presence müsste man das ausschalten können, aber
technisch sendet Jitsi weiterhin PUBLISH Meldungen.
#Jitsi->Connection-->Message Waiting (MWI) deaktivieren, wird nicht
unterstützt

#Wir gehen davon aus, das TCP nicht helfen wird:
#Jitsi->Connection-> proxy: tcpproxy.sipgate.de;transport=tcp port: 5060

rough translation:

the 403 code is wrong, should be 501.
PUBLISH is a command which is unsupported by sipgate.

PRESENCE should be disableable, but Jitsi seems to keep sending PUBLISH
messages over and over again.
MessageWaiting should be disabled, but Jitsi seem not to support this.
A switch to TCP won't help.
-------------------------------------------------------------------------------------------

@Emil:

Is it possible to change this behaviour or make it configurable ?

Marius


#4

Sending a 403 for an unsupported command is clearly wrong as the 4xx are meant for authentication failures. Have you tried disabling presence in the account's options? Although I can't verifiy it currently, Jitsi shouldn't send any PUBLISH messages when it's disabled.
MWI is afaik disabled by default unless you enter a SIP URI in the options.

Ingo

Freundliche Grüsse,
Ingo Bauersachs

-- sent from my mobile

···

On 17.06.2015, at 16:56, Marius <jitsi@benderirc.de> wrote:

Here the answere from Sipgate:

-------------------------------------------------------------------------------------------
#Das 403 kommt auf das PUBLISH, welches wir nicht unterstützen. Normal
müsste aber eine Fehlermeldung 501 kommen, was eher korrekt wäre.
#Normal müsste Jitsi->Presence müsste man das ausschalten können, aber
technisch sendet Jitsi weiterhin PUBLISH Meldungen.
#Jitsi->Connection-->Message Waiting (MWI) deaktivieren, wird nicht
unterstützt

#Wir gehen davon aus, das TCP nicht helfen wird:
#Jitsi->Connection-> proxy: tcpproxy.sipgate.de;transport=tcp port: 5060

rough translation:

the 403 code is wrong, should be 501.
PUBLISH is a command which is unsupported by sipgate.

PRESENCE should be disableable, but Jitsi seems to keep sending PUBLISH
messages over and over again.
MessageWaiting should be disabled, but Jitsi seem not to support this.
A switch to TCP won't help.
-------------------------------------------------------------------------------------------

@Emil:

Is it possible to change this behaviour or make it configurable ?

Marius

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users


#5

Those would which (translated) options ?

I found MWI, but is Presence the keep alive one ?

Marius

···

Am 17.06.2015 um 15:19 schrieb Ingo Bauersachs:

Sending a 403 for an unsupported command is clearly wrong as the 4xx are meant for authentication failures. Have you tried disabling presence in the account's options? Although I can't verifiy it currently, Jitsi shouldn't send any PUBLISH messages when it's disabled.
MWI is afaik disabled by default unless you enter a SIP URI in the options.


#6

No, you need keep-alive.
I think I translated "Presence" to "Online-Status". Should be the fourth (?) tab in the account options, then a checkbox at the top.

Ingo

Freundliche Grüsse,
Ingo Bauersachs

-- sent from my mobile

···

On 17.06.2015, at 20:20, Cyborg <cyborg2@benderirc.de> wrote:

Am 17.06.2015 um 15:19 schrieb Ingo Bauersachs:
Sending a 403 for an unsupported command is clearly wrong as the 4xx are meant for authentication failures. Have you tried disabling presence in the account's options? Although I can't verifiy it currently, Jitsi shouldn't send any PUBLISH messages when it's disabled.
MWI is afaik disabled by default unless you enter a SIP URI in the options.

Those would which (translated) options ?

I found MWI, but is Presence the keep alive one ?

Marius

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users


#7

For the record:

Jitsi stopped telling about crashes in the logfile ( the missing UDP
transport stacktrace ) after MWI got disabled.
Online Presence is still active.

last error message left: ( seriose error )

2015-05-17 17:12:04.384 /SCHWERWIEGEND/: [677]
impl.protocol.sip.OperationSetPresenceSipImpl.processTimeout().1592
timeout reached, it looks really abnormal:
javax.sip.TimeoutEvent[source=*gov.nist.javax.sip.SipProviderImpl@18c52987*]

logging the java object address isn't very helpful .. someone wants to
add a ".toString()" somewhere.

marius

···

Am 17.06.2015 um 17:06 schrieb Ingo Bauersachs:

No, you need keep-alive.
I think I translated "Presence" to "Online-Status". Should be the fourth (?) tab in the account options, then a checkbox at the top.


#8

Hi all,

if you encounter the following problem :

your using sipgate.de/at/ch/com or a similar SIP telephone company,
and the online/offline state is switching frequently by itself,
and your system is crashing after some hours with OOM (outofmemory) errors,
and you see repeatedly this message in the logfile :

"Invalid transport: UDP" + a java stracktrace about an
illegalArgumentException

this is your workaround until it gets fixed:

1. switch from stable to nightly build 2.9.5454++ ( just to get sure,
may work with 2.8 stable too )
2. Disable MWI in your SIP account settings: Options->Connection-> MWI
( Messages Waiting / Anrufbeantworter in german)

Marius