[jitsi-dev] image is not supported MediaType notification, call fail


#1

Sip-communicator failed to create an SDP description for an OK response
to an RE-INVITE request when Media Description, name and address (m):
image 11552 udptl t38 in it.
List messages bellow
18:07:44.338 SEVERE: impl.protocol.sip.CallPeerSipImpl.answer().1018
Failed to create an SDP description for an OK response to an INVITE
request!
java.lang.IllegalArgumentException: image is not a currently supported
MediaType
  at
net.java.sip.communicator.service.neomedia.MediaType.parseString(MediaT
ype.java:77)
  at
net.java.sip.communicator.impl.protocol.sip.sdp.SdpUtils.getMediaType(S
dpUtils.java:1498)
  at
net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandlerSipImpl
.createMediaDescriptionsForAnswer(CallPeerMediaHandlerSipImpl.java:362)
  at
net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandlerSipImpl
.processFirstOffer(CallPeerMediaHandlerSipImpl.java:280)
  at
net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandlerSipImpl
.processOffer(CallPeerMediaHandlerSipImpl.java:252)
  at
net.java.sip.communicator.impl.protocol.sip.CallPeerSipImpl.answer(Call
PeerSipImpl.java:1004)
  at
net.java.sip.communicator.impl.protocol.sip.OperationSetBasicTelephonyS
ipImpl.answerCallPeer(OperationSetBasicTelephonySipImpl.java:1617)
  at
net.java.sip.communicator.impl.gui.main.call.CallManager$AnswerCallThre
ad.run(CallManager.java:1233)
18:07:56.914 SEVERE:
impl.protocol.sip.OperationSetPresenceSipImpl.processTimeout().1527
timeout reached, it looks really abnormal:
javax.sip.TimeoutEvent[source=gov.nist.javax.sip.SipProviderImpl@104ca5
4]

Is it possible to ignore this Media Type and continue to establish a
call?


#2

Hey z___al,

На 04.03.11 16:26, z___al@mail.ru написа:

Sip-communicator failed to create an SDP description for an OK response
to an RE-INVITE request when Media Description, name and address (m):
image 11552 udptl t38 in it.

Yes this is expected to happen. Was this the only thing present in the
INVITE?

Cheers,
Emil

···

List messages bellow
18:07:44.338 SEVERE: impl.protocol.sip.CallPeerSipImpl.answer().1018
Failed to create an SDP description for an OK response to an INVITE
request!
java.lang.IllegalArgumentException: image is not a currently supported
MediaType
  at
net.java.sip.communicator.service.neomedia.MediaType.parseString(MediaT
ype.java:77)
  at
net.java.sip.communicator.impl.protocol.sip.sdp.SdpUtils.getMediaType(S
dpUtils.java:1498)
  at
net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandlerSipImpl
.createMediaDescriptionsForAnswer(CallPeerMediaHandlerSipImpl.java:362)
  at
net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandlerSipImpl
.processFirstOffer(CallPeerMediaHandlerSipImpl.java:280)
  at
net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandlerSipImpl
.processOffer(CallPeerMediaHandlerSipImpl.java:252)
  at
net.java.sip.communicator.impl.protocol.sip.CallPeerSipImpl.answer(Call
PeerSipImpl.java:1004)
  at
net.java.sip.communicator.impl.protocol.sip.OperationSetBasicTelephonyS
ipImpl.answerCallPeer(OperationSetBasicTelephonySipImpl.java:1617)
  at
net.java.sip.communicator.impl.gui.main.call.CallManager$AnswerCallThre
ad.run(CallManager.java:1233)
18:07:56.914 SEVERE:
impl.protocol.sip.OperationSetPresenceSipImpl.processTimeout().1527
timeout reached, it looks really abnormal:
javax.sip.TimeoutEvent[source=gov.nist.javax.sip.SipProviderImpl@104ca5
4]

Is it possible to ignore this Media Type and continue to establish a
call?

--
Emil Ivov, Ph.D. 67000 Strasbourg,
Project Lead France
SIP Communicator
emcho@sip-communicator.org PHONE: +33.1.77.62.43.30
http://sip-communicator.org FAX: +33.1.77.62.47.31


#3

Hey z___al,
Yes this is expected to happen. Was this the only thing present in the
INVITE?

Cheers,
Emil

Hello, Emil
This happen when t.38 is in SDP.
Even if in INVITE SDP g.711 and t.38 present together sip-communicator
send "image is not supported MediaType" anyway and call fail.


#4

Hello, Emil

This happen when t.38 is in SDP.
Even if in INVITE SDP g.711 and t.38 present together sip-communicator
send "image is not supported MediaType" anyway and call fail.

···

Sun, 06 Mar 2011 17:49:54 +0100 письмо от Emil Ivov <emcho@sip-communicator.org>:

Hey z___al,

Yes this is expected to happen. Was this the only thing present in the
INVITE?

Cheers,
Emil

--
Emil Ivov, Ph.D. 67000 Strasbourg,
Project Lead France
SIP Communicator
emcho@sip-communicator.org PHONE: +33.1.77.62.43.30
http://sip-communicator.org FAX: +33.1.77.62.47.31

BR


#5

Hey there,

На 09.03.11 08:33, z___al@mail.ru написа:

Hello, Emil

This happen when t.38 is in SDP.
Even if in INVITE SDP g.711 and t.38 present together sip-communicator
send "image is not supported MediaType" anyway and call fail.

As my previous post [0] indicates:

r8345 and build 3336 should be fixing the issue.

Let us know if you still have problems

Cheers,
Emil

[0]
http://java.net/nonav/projects/jitsi/lists/dev/archive/2011-03/message/44


#6

Hello,

With build 3336, the only group I have (containing SIP users) has disappeared after clicking on History and clicking again to hide history. Now no group is displayed in jitsy. Even if I restart jitsy, the group is still not displayed but the group is present (since if I want to add a contact the group name is proposed).

How can I recover the group display?

Thanks for your help,

Bruno

···

-----Message d'origine-----
De : Emil Ivov [mailto:emcho@sip-communicator.org]
Envoyé : mercredi 9 mars 2011 10:44
À : z___al@mail.ru
Cc : dev@jitsi.java.net
Objet : [jitsi-dev] Re: image is not supported MediaType notification, call
fail

Hey there,

На 09.03.11 08:33, z___al@mail.ru написа:
> Hello, Emil
>
> This happen when t.38 is in SDP.
> Even if in INVITE SDP g.711 and t.38 present together sip-communicator
> send "image is not supported MediaType" anyway and call fail.

As my previous post [0] indicates:

r8345 and build 3336 should be fixing the issue.

Let us know if you still have problems

Cheers,
Emil

[0]
http://java.net/nonav/projects/jitsi/lists/dev/archive/2011-03/message/44


#7

Hello,
I still have a problem with incoming calls.There is no message "image is not supported MediaType" in the screen,
but call fail anyway when both audio and image is in the SDP.
debug message as follow:
07:37:15.011 SEVERE: impl.protocol.sip.CallPeerSipImpl.answer().1018 Failed to create an SDP description for an OK response to an INVITE request!
java.lang.NullPointerException
        at net.java.sip.communicator.service.protocol.media.MediaAwareCall.getDefaultDevice(MediaAwareCall.java:350)
        at net.java.sip.communicator.service.protocol.media.CallPeerMediaHandler.getDefaultDevice(CallPeerMediaHandler.java:705)
        at net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandlerSipImpl.createMediaDescriptionsForAnswer(CallPeerMediaHandlerSipImpl.java:378)
        at net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandlerSipImpl.processFirstOffer(CallPeerMediaHandlerSipImpl.java:280)
        at net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandlerSipImpl.processOffer(CallPeerMediaHandlerSipImpl.java:252)
        at net.java.sip.communicator.impl.protocol.sip.CallPeerSipImpl.answer(CallPeerSipImpl.java:1004)
        at net.java.sip.communicator.impl.protocol.sip.OperationSetBasicTelephonySipImpl.answerCallPeer(OperationSetBasicTelephonySipImpl.java:1617)
        at net.java.sip.communicator.impl.gui.main.call.CallManager$AnswerCallThread.run(CallManager.java:1233)

BR

···

Wed, 09 Mar 2011 10:43:38 +0100 письмо от Emil Ivov <emcho@sip-communicator.org>:

Hey there,

As my previous post [0] indicates:

r8345 and build 3336 should be fixing the issue.

Let us know if you still have problems

Cheers,
Emil


#8

Hey Bruno,

На 09.03.11 11:12, Bruno.Konik написа:

Hello,

With build 3336, the only group I have (containing SIP users) has
disappeared after clicking on History and clicking again to hide
history. Now no group is displayed in jitsy. Even if I restart jitsy,
the group is still not displayed but the group is present (since if I
want to add a contact the group name is proposed).

How can I recover the group display?

Have you tried: Tools->Show offline contacts ?

Emil

···

Thanks for your help,

Bruno

-----Message d'origine----- De : Emil Ivov
[mailto:emcho@sip-communicator.org] Envoyé : mercredi 9 mars 2011
10:44 À : z___al@mail.ru Cc : dev@jitsi.java.net Objet :
[jitsi-dev] Re: image is not supported MediaType notification,
call fail

Hey there,

На 09.03.11 08:33, z___al@mail.ru написа:

Hello, Emil

This happen when t.38 is in SDP. Even if in INVITE SDP g.711 and
t.38 present together sip-communicator send "image is not
supported MediaType" anyway and call fail.

As my previous post [0] indicates:

r8345 and build 3336 should be fixing the issue.

Let us know if you still have problems

Cheers, Emil

[0]
http://java.net/nonav/projects/jitsi/lists/dev/archive/2011-03/message/44

--
Emil Ivov, Ph.D. 67000 Strasbourg,
Project Lead France
SIP Communicator
emcho@sip-communicator.org PHONE: +33.1.77.62.43.30
http://sip-communicator.org FAX: +33.1.77.62.47.31


#9

На 10.03.11 05:51, z___al@mail.ru написа:

Hello,
I still have a problem with incoming calls.There is no message "image is not supported MediaType" in the screen,

My bad. Could you please try again (r8353, build 3342)?

Cheers,
Emil

···

but call fail anyway when both audio and image is in the SDP.
debug message as follow:
07:37:15.011 SEVERE: impl.protocol.sip.CallPeerSipImpl.answer().1018 Failed to create an SDP description for an OK response to an INVITE request!
java.lang.NullPointerException
        at net.java.sip.communicator.service.protocol.media.MediaAwareCall.getDefaultDevice(MediaAwareCall.java:350)
        at net.java.sip.communicator.service.protocol.media.CallPeerMediaHandler.getDefaultDevice(CallPeerMediaHandler.java:705)
        at net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandlerSipImpl.createMediaDescriptionsForAnswer(CallPeerMediaHandlerSipImpl.java:378)
        at net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandlerSipImpl.processFirstOffer(CallPeerMediaHandlerSipImpl.java:280)
        at net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandlerSipImpl.processOffer(CallPeerMediaHandlerSipImpl.java:252)
        at net.java.sip.communicator.impl.protocol.sip.CallPeerSipImpl.answer(CallPeerSipImpl.java:1004)
        at net.java.sip.communicator.impl.protocol.sip.OperationSetBasicTelephonySipImpl.answerCallPeer(OperationSetBasicTelephonySipImpl.java:1617)
        at net.java.sip.communicator.impl.gui.main.call.CallManager$AnswerCallThread.run(CallManager.java:1233)

BR

Wed, 09 Mar 2011 10:43:38 +0100 письмо от Emil Ivov <emcho@sip-communicator.org>:

Hey there,

As my previous post [0] indicates:

r8345 and build 3336 should be fixing the issue.

Let us know if you still have problems

Cheers,
Emil

--
Emil Ivov, Ph.D. 67000 Strasbourg,
Project Lead France
SIP Communicator
emcho@sip-communicator.org PHONE: +33.1.77.62.43.30
http://sip-communicator.org FAX: +33.1.77.62.47.31


#10

Hi,Emil
Something wrong with new build (3342)
I'm trying rpm packet to install, and have follow error
error: unpack file /usr/lib/sip-communicator/sc-bundles/protocol-sip.jar;4d787a37: cpio: read

Cheers

···

My bad. Could you please try again (r8353, build 3342)?

Cheers,
Emil
Emil Ivov, Ph.D. 67000 Strasbourg,
Project Lead France
SIP Communicator
emcho@sip-communicator.org PHONE: +33.1.77.62.43.30
http://sip-communicator.org FAX: +33.1.77.62.47.31


#11

Yes I did, this changes nothing.

···

-----Message d'origine-----
De : Emil Ivov [mailto:emcho@sip-communicator.org]
Envoyé : mercredi 9 mars 2011 11:23
À : dev@jitsi.java.net
Cc : Bruno.Konik
Objet : [jitsi-dev] Re: SIP group has disappeared

Hey Bruno,

На 09.03.11 11:12, Bruno.Konik написа:
> Hello,
>
> With build 3336, the only group I have (containing SIP users) has
> disappeared after clicking on History and clicking again to hide
> history. Now no group is displayed in jitsy. Even if I restart jitsy,
> the group is still not displayed but the group is present (since if I
> want to add a contact the group name is proposed).
>
> How can I recover the group display?

Have you tried: Tools->Show offline contacts ?

Emil

>
> Thanks for your help,
>
> Bruno
>
>> -----Message d'origine----- De : Emil Ivov
>> [mailto:emcho@sip-communicator.org] Envoyé : mercredi 9 mars 2011
>> 10:44 À : z___al@mail.ru Cc : dev@jitsi.java.net Objet :
>> [jitsi-dev] Re: image is not supported MediaType notification,
>> call fail
>>
>> Hey there,
>>
>> На 09.03.11 08:33, z___al@mail.ru написа:
>>> Hello, Emil
>>>
>>> This happen when t.38 is in SDP. Even if in INVITE SDP g.711 and
>>> t.38 present together sip-communicator send "image is not
>>> supported MediaType" anyway and call fail.
>>
>> As my previous post [0] indicates:
>>
>> r8345 and build 3336 should be fixing the issue.
>>
>> Let us know if you still have problems
>>
>>
>> Cheers, Emil
>>
>>
>> [0]
>> http://java.net/nonav/projects/jitsi/lists/dev/archive/2011-03/message/44
>
>>
>
>

--
Emil Ivov, Ph.D. 67000 Strasbourg,
Project Lead France
SIP Communicator
emcho@sip-communicator.org PHONE: +33.1.77.62.43.30
http://sip-communicator.org FAX: +33.1.77.62.47.31


#12

-----Message d'origine-----
De : Emil Ivov [mailto:emcho@sip-communicator.org]
Envoyé : mercredi 9 mars 2011 11:23
Have you tried: Tools->Show offline contacts ?

Yes I did, this changes nothing.

Hi Bruno,

Please check the logs for any exceptions or send them to us so that we
can look at them for clues.

Regards,
Lyubomir

···

On Wed, Mar 9, 2011 at 12:22 PM, Bruno.Konik <bruno.konik@unigone.com> wrote:


#13

Hello,
Sorry for the post before, rpm packet was not downloaded completely.

But i still have a problem.
Problem is:

SC send Media type "image " and Media Format ITU-T G.711 PCMU in OK with SDP (when the call is answering), every time when "image" media type is in incoming SDP, even through PCMA codec only selected in SC.
Then my service provider send in SDP that it has Media Format ITU-T G.711 PCMA and G.729 only and Sip-communicator response 500-Server Internal Error.

I think, to resolve the problem Sip-communicator have to send Media Type "audio" with selected codecs (or something similar as in usual audio call) in OK/SDP message and ignore all other unsupported media types.

BR

···

Hi,Emil
Something wrong with new build (3342)
I'm trying rpm packet to install, and have follow error
error: unpack file
/usr/lib/sip-communicator/sc-bundles/protocol-sip.jar;4d787a37: cpio: read

Cheers

> My bad. Could you please try again (r8353, build 3342)?
>
> Cheers,
> Emil
> Emil Ivov, Ph.D. 67000 Strasbourg,
> Project Lead France
> SIP Communicator
> emcho@sip-communicator.org PHONE: +33.1.77.62.43.30
> http://sip-communicator.org FAX: +33.1.77.62.47.31


#14

Hi Luybomir,

The log is in INFO mode, can I change it to DEBUG maybe?

Bruno

sip-communicator0.log.0 (28.7 KB)

···

-----Message d'origine-----
De : Lyubomir Marinov [mailto:lubo@sip-communicator.org]
Envoyé : mercredi 9 mars 2011 11:35
À : dev@jitsi.java.net
Cc : Bruno.Konik
Objet : Re: [jitsi-dev] Re: SIP group has disappeared

>> -----Message d'origine-----
>> De : Emil Ivov [mailto:emcho@sip-communicator.org]
>> Envoyé : mercredi 9 mars 2011 11:23
>> Have you tried: Tools->Show offline contacts ?

On Wed, Mar 9, 2011 at 12:22 PM, Bruno.Konik <bruno.konik@unigone.com> wrote:
> Yes I did, this changes nothing.

Hi Bruno,

Please check the logs for any exceptions or send them to us so that we
can look at them for clues.

Regards,
Lyubomir


#15

I just noticed something interesting if it can help.

If I create another group (empty) then my other group appears again and does
not disappear anymore until this new empty is here.

BTW, if I remove an empty group, the display still shows it and if I click
on history and come back again, the group is not displayed anymore (and my
other old group is also not present :frowning: ).

Bruno

···

-----Message d'origine-----
De : Lyubomir Marinov [mailto:lubo@sip-communicator.org]
Envoyé : mercredi 9 mars 2011 11:35
À : dev@jitsi.java.net
Cc : Bruno.Konik
Objet : Re: [jitsi-dev] Re: SIP group has disappeared

>> -----Message d'origine-----
>> De : Emil Ivov [mailto:emcho@sip-communicator.org]
>> Envoyé : mercredi 9 mars 2011 11:23
>> Have you tried: Tools->Show offline contacts ?

On Wed, Mar 9, 2011 at 12:22 PM, Bruno.Konik <bruno.konik@unigone.com> wrote:
> Yes I did, this changes nothing.

Hi Bruno,

Please check the logs for any exceptions or send them to us so that we
can look at them for clues.

Regards,
Lyubomir


#16

I suppose .level= INFO in lib\logging.properties could be changed to
assign FINEST (which is commented out just above .level= INFO).
Adding, for example, net.java.sip.communicator.level = FINEST may be
an alternative.

···

On Wed, Mar 9, 2011 at 12:39 PM, Bruno.Konik <bruno.konik@unigone.com> wrote:

The log is in INFO mode, can I change it to DEBUG maybe?


#17

Hey there,

Hello,
Sorry for the post before, rpm packet was not downloaded completely.

But i still have a problem.
Problem is:

SC send Media type "image "

Could you please check that again? We don't support the "image" type and we
never announce "image" streams. The "image" stream must be coming from your
provider and my latest commit was making sure we would properly disable it
and indicate that in the response we send to the server.

If you are experiencing something else, could you please send pcap traces?

> and Media Format ITU-T G.711 PCMU in OK with SDP (when the call is
answering), every time when "image" media type is in incoming SDP, even
through PCMA codec only selected in SC.
Then my service provider send in SDP that it has Media Format ITU-T G.711
PCMA and G.729 only and Sip-communicator response 500-Server Internal Error.

Could you please show us the trace?

Emil

···

On Thu, Mar 10, 2011 at 11:52 AM, <z___al@mail.ru> wrote:

I think, to resolve the problem Sip-communicator have to send Media Type
"audio" with selected codecs (or something similar as in usual audio call)
in OK/SDP message and ignore all other unsupported media types.

BR

> Hi,Emil
> Something wrong with new build (3342)
> I'm trying rpm packet to install, and have follow error
> error: unpack file
> /usr/lib/sip-communicator/sc-bundles/protocol-sip.jar;4d787a37: cpio:
read
>
> Cheers
>
> > My bad. Could you please try again (r8353, build 3342)?
> >
> > Cheers,
> > Emil
> > Emil Ivov, Ph.D. 67000 Strasbourg,
> > Project Lead France
> > SIP Communicator
> > emcho@sip-communicator.org PHONE:
+33.1.77.62.43.30
> > http://sip-communicator.org FAX:
+33.1.77.62.47.31

--
Emil Ivov, Ph.D. 67000 Strasbourg,
Project Lead France
SIP Communicator
emcho@sip-communicator.org PHONE: +33.1.77.62.43.30
http://sip-communicator.org FAX: +33.1.77.62.47.31


#18

Hi,
sorry, it happened when re-invite with image in SDP
OK message from sip-communicator as follow:

SIP/2.0 200 OK
Via: SIP/2.0/UDP xx.xx.xxx.xxx:5060;branch=z9hG4bKe4f5f27adbb81128aa9a58b5dc3fda3f
CSeq: 2 INVITE
Call-ID: 1005-3508745654-540446@sbc.xxxxx.ru

From: <sip:xxx@xx.xx.xx.xx>;tag=3508745654-541620

Contact: "xxxxx" <sip:xxxxxx@10.0.0.57:5063;transport=udp>
User-Agent: SIP Communicator1.0-alpha6-nightly.1.0-alpha3.nightly.build.3342Linux
Content-Type: application/sdp
Content-Length: 233

v=0
o=5247002 0 1 IN IP4 10.0.0.57
s=-
c=IN IP4 10.0.0.57
t=0 0
m=audio 5000 RTP/AVP 8
a=recvonly
a=rtpmap:8 PCMA/8000
a=zrtp-hash:1.10 7e7f7972c838ef0a9a70f62cb9901d6bedf30e3dcd7d62097f1217a68fe798c8
m=image 0 RTP/AVP t38

BR

Hey there,

Could you please check that again? We don't support the "image" type and we never announce "image" streams. The "image" stream must be coming from your provider and my latest commit was making sure we would properly disable it and indicate that in the response we send to the server.

If you are experiencing something else, could you please send pcap traces?

Could you please show us the trace?

Emil

···

To: "SIPLineUser SIPLineUser" <sip:dynamic-3508736602.770240.073@10.0.0.57:5063>;tag=c3c981eb

--
Emil Ivov, Ph.D. 67000 Strasbourg,
Project Lead France
SIP Communicator
emcho@sip-communicator.org PHONE: +33.1.77.62.43.30
http://sip-communicator.org FAX: +33.1.77.62.47.31


#19

No this does not change the level. See my looging.properties.

Note that I have run jisty and was invited to install the latest build which
I did. Then I have had the problem.

Now after a fresh install from scratch (removing latest build 3306 from the
PC), the problem persists.

Thanks for your help.

Bruno

logging.properties (2.44 KB)

···

-----Message d'origine-----
De : Lyubomir Marinov [mailto:lubo@sip-communicator.org]
Envoyé : mercredi 9 mars 2011 11:56
À : Bruno.Konik
Cc : dev@jitsi.java.net
Objet : Re: [jitsi-dev] Re: SIP group has disappeared

On Wed, Mar 9, 2011 at 12:39 PM, Bruno.Konik <bruno.konik@unigone.com> wrote:
> The log is in INFO mode, can I change it to DEBUG maybe?

I suppose .level= INFO in lib\logging.properties could be changed to
assign FINEST (which is commented out just above .level= INFO).
Adding, for example, net.java.sip.communicator.level = FINEST may be
an alternative.


#20

Hi,

For information, with the latest build 3337, here is a log with some
exceptions when trying to launch a call to a SIP device.

Bruno

sip-communicator0.log.0 (24.1 KB)

···

-----Message d'origine-----
De : Lyubomir Marinov [mailto:lubo@sip-communicator.org]
Envoyé : mercredi 9 mars 2011 11:56
À : Bruno.Konik
Cc : dev@jitsi.java.net
Objet : Re: [jitsi-dev] Re: SIP group has disappeared

On Wed, Mar 9, 2011 at 12:39 PM, Bruno.Konik <bruno.konik@unigone.com> wrote:
> The log is in INFO mode, can I change it to DEBUG maybe?

I suppose .level= INFO in lib\logging.properties could be changed to
assign FINEST (which is commented out just above .level= INFO).
Adding, for example, net.java.sip.communicator.level = FINEST may be
an alternative.