Originally created by: v...@scienceprousa.com
What steps will reproduce the problem?
1. setup an account with tls and use it from a non-local ip (lan works)
2. register
3. make an outgoing call (fails firstly because of OpenSL not working but even after changing to Java still fails)
What is the expected output? What do you see instead?
Outgoing call over tls works
instead, it unregisters and won't call OR after changing audio settings to Java hangs up and shows "503 / End Of File(PJ_EEOF)"
What version of the product are you using? On what operating system?
[r2156] (nightly) on Galaxy S2 CM10.1 Jelly Bean 4.2.2-- has also had identical problem on other roms.
Please provide any additional information below.
I have tried various troubleshooting steps (disabling/enabling every combination of STUN/TURN/ICE), reading the logs myself, etc. It seems to work locally but not externally. On Asterisk I receive:
WARNING chan_sip.c:3618 __sip_xmit: sip_xmit of 0x7fe5f4054630 (len 748) to xxx.xxx.xxx.xx:33936 returned -2: Success
WARNING chan_sip.c:3618 __sip_xmit: sip_xmit of 0x7fe5f4054630 (len 748) to xxx.xxx.xxx.xx:33936 returned -2: No such file or directory
Thanks for any help
Commit: [r2156]
Tickets: #2378
Tickets: #2614
Tickets: #2678
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: bensjob...@gmail.com
Same issue here. Nexus 4 running stock 4.2.2, [r2163] nightly build.
Related
Commit: [r2163]
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: ralieghh...@gmail.com
This issue started with CM10.1. Also affects Groundwire. Workaround is to go to Settings/Media/Audio Troubleshooting/Audio Implementation and choose Java instead of OpenSL-ES. I'm guessing there may be a performance penalty, but so far I'm able to maintain decent calls on my SGH-T879 Galaxy Note.
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: hvtaifwk...@gmail.com
I have ZTE Blade III+CM10.1, can't file bugs for CM because this is unofficial build.
If this is CM bug, has somebody filed a bug report for it already?
04-09 14:16:04.214 D/InCallActivity( 5086): Answer call 0
04-09 14:16:04.234 V/SipWakeLock( 5086): acquire wakelock: holder count=1
04-09 14:16:04.244 D/libpjsip( 5086): 14:16:04.247 pjsua_call.c !Answering call 0: code=200
04-09 14:16:04.244 V/libpjsip( 5086): 14:16:04.247 inv0x4bede784 ..SDP negotiation done, status=0
04-09 14:16:04.244 D/libpjsip( 5086): 14:16:04.247 pjsua_media.c ...Call 0: updating media..
04-09 14:16:04.244 D/libpjsip( 5086): 14:16:04.247 pjsua_aud.c ....Audio channel update..
04-09 14:16:04.244 V/libpjsip( 5086): 14:16:04.249 rtp.c .....pjmedia_rtp_session_init: ses=0x4d7c175c, default_pt=111, ssrc=0x371063d0
04-09 14:16:04.244 V/libpjsip( 5086): 14:16:04.249 rtp.c .....pjmedia_rtp_session_init: ses=0x4d7c3464, default_pt=111, ssrc=0x371063d0
04-09 14:16:04.244 V/libpjsip( 5086): 14:16:04.249 stream.c .....Stream strm0x4d7b2d3c created
04-09 14:16:04.244 D/libpjsip( 5086): 14:16:04.249 strm0x4d7b2d3c .....Encoder stream started
04-09 14:16:04.244 D/libpjsip( 5086): 14:16:04.249 strm0x4d7b2d3c .....Decoder stream started
04-09 14:16:04.244 V/libpjsip( 5086): 14:16:04.251 resample.c .....resample created: high qualiy, small filter, in/out rate=16000/32000
04-09 14:16:04.244 V/libpjsip( 5086): 14:16:04.251 resample.c .....resample created: high qualiy, small filter, in/out rate=32000/16000
04-09 14:16:04.244 D/libpjsip( 5086): 14:16:04.251 pjsua_media.c ....Audio updated, stream #0: speex (sendrecv)
04-09 14:16:04.244 V/libpjsip( 5086): 14:16:04.251 timer_android. ...Scheduling timer 2 of 0 in 0 ms @ 0x53dd08c4
04-09 14:16:04.254 V/Timer wrap( 5086): Schedule 2 in 0ms
04-09 14:16:04.254 D/SIP UA Receiver( 5086): < LOCK CPU
04-09 14:16:04.254 D/Ringer ( 5086): ==> stopRing() called...
04-09 14:16:04.254 D/Ringer ( 5086): Ringer thread interrupt
04-09 14:16:04.254 W/AudioCache( 112): Battery track warning: refCount is already 0
04-09 14:16:04.254 D/Ringer ( 5086): Ringer thread exiting
04-09 14:16:04.254 D/SIP UA Receiver( 5086): Updating call infos from the stack
04-09 14:16:04.254 D/PjSipCalls( 5086): Update call 0
04-09 14:16:04.254 D/PjService( 5086): Found pjsua 3 searching 3
04-09 14:16:04.264 D/libpjsip( 5086): 14:16:04.266 pjsua_jni_addo ...Get secure for media type 1
04-09 14:16:04.264 D/libpjsip( 5086): 14:16:04.270 zrtp_android.c ...jzrtp_getInfoFromContext : user data 49379200
04-09 14:16:04.264 D/libpjsip( 5086): 14:16:04.270 zrtp_android.c ...jzrtp_getInfoFromContext : user data 49379200
04-09 14:16:04.264 D/libpjsip( 5086): 14:16:04.270 pjsua_aud.c ...Conf connect: 2 --> 0
04-09 14:16:04.264 D/libpjsip( 5086): 14:16:04.270 pjsua_aud.c ....Set sound device: capture=-1, playback=-2
04-09 14:16:04.264 D/libpjsip( 5086): 14:16:04.270 pjsua_aud.c .....Opening sound device PCM@32000/1/20ms
04-09 14:16:04.264 D/libpjsip( 5086): 14:16:04.270 opensl_dev.c ......Creating OpenSL stream
04-09 14:16:04.294 D/libpjsip( 5086): 14:16:04.302 opensl_dev.c ......Recording stream type 4, SDK : 17
04-09 14:16:04.294 W/AudioPolicyManager7627a( 112): getInput() could not find profile for device 100000, samplingRate 32000, format 1,channelMask 0010
04-09 14:16:04.294 E/AudioRecord( 5086): Could not get audio input for record source 7
04-09 14:16:04.294 E/libOpenSLES( 5086): android_audioRecorder_realize(0x4d75bf10) error creating AudioRecord object
04-09 14:16:04.294 W/libOpenSLES( 5086): Leaving Object::Realize (SL_RESULT_CONTENT_UNSUPPORTED)
04-09 14:16:04.294 I/libpjsip( 5086): 14:16:04.304 opensl_dev.c ......Cannot realize recorder : 9
04-09 14:16:04.294 D/libpjsip( 5086): 14:16:04.304 opensl_dev.c ......Stopping stream
04-09 14:16:04.294 D/libpjsip( 5086): 14:16:04.304 opensl_dev.c ......OpenSL stream stopped
04-09 14:16:04.294 V/Timer wrap( 5086): FIRE Received...
04-09 14:16:04.294 V/Timer wrap( 5086): Treat 2
04-09 14:16:04.294 F/libc ( 5086): Fatal signal 11 (SIGSEGV) at 0x000000a5 (code=1), thread 5100 (ervice.Executor)
04-09 14:16:04.294 V/SipWakeLock( 5086): acquire wakelock: holder count=1
04-09 14:16:04.294 V/Timer wrap( 5086): FIRE START 2
04-09 14:16:04.294 V/libpjsip( 5086): 14:16:04.312 timer_android. !FIRE timer 2 of heap 0
04-09 14:16:04.404 I/DEBUG ( 107): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
04-09 14:16:04.404 I/DEBUG ( 107): Build fingerprint: 'ZTE/N880E_JB4_2/atlas40:4.2/JOP40C/20121121.110335:user/release-keys'
04-09 14:16:04.404 I/DEBUG ( 107): Revision: '0'
04-09 14:16:04.404 I/DEBUG ( 107): pid: 5086, tid: 5100, name: ervice.Executor >>> com.csipsimple:sipStack <<<
04-09 14:16:04.404 I/DEBUG ( 107): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 000000a5
04-09 14:16:04.895 I/DEBUG ( 107): [r0] 000000a5 [r1] 00000001 [r2] 00000001 [r3] 00000020
04-09 14:16:04.895 I/DEBUG ( 107): [r4] 4c027580 [r5] 00000000 [r6] 53ed8f74 [r7] 4c027588
04-09 14:16:04.895 I/DEBUG ( 107): [r8] 493793c4 [r9] 493793ac sl 4be9a6d9 fp 00000004
04-09 14:16:04.895 I/DEBUG ( 107): ip 40a4bbdc sp 53ed8f68 lr 40a12fa3 pc 401020f8 cpsr 200d0010
04-09 14:16:04.895 I/DEBUG ( 107): d0 5555555555555555 d1 5555555555555555
04-09 14:16:04.895 I/DEBUG ( 107): d2 5555555555555555 d3 5555555555555555
04-09 14:16:04.895 I/DEBUG ( 107): d4 0074006300410049 d5 0074006900760069
04-09 14:16:04.895 I/DEBUG ( 107): d6 006e0061004d0079 d7 0081330000000000
04-09 14:16:04.895 I/DEBUG ( 107): d8 0000000000000000 d9 0000000000000000
04-09 14:16:04.895 I/DEBUG ( 107): d10 0000000000000000 d11 0000000000000000
04-09 14:16:04.895 I/DEBUG ( 107): d12 0000000000000000 d13 0000000000000000
04-09 14:16:04.895 I/DEBUG ( 107): d14 0000000000000000 d15 0000000000000000
04-09 14:16:04.895 I/DEBUG ( 107): d16 4160266010000000 d17 3fe0000000000000
04-09 14:16:04.895 I/DEBUG ( 107): d18 00730063002e006d d19 0069007300700069
04-09 14:16:04.895 I/DEBUG ( 107): d20 0065006c0070006d d21 73622a8500000000
04-09 14:16:04.895 I/DEBUG ( 107): d22 000000000000017f d23 ffffffff00000000
04-09 14:16:04.895 I/DEBUG ( 107): d24 3fc7466e1d4d3f84 d25 3fe55559ee5e69f9
04-09 14:16:04.895 I/DEBUG ( 107): d26 0000000000000008 d27 0000000000000025
04-09 14:16:04.895 I/DEBUG ( 107): d28 0000000000000000 d29 0000000000000000
04-09 14:16:04.895 I/DEBUG ( 107): d30 0000000000000000 d31 0000000000000000
04-09 14:16:04.895 I/DEBUG ( 107): scr 20000010
04-09 14:16:04.895 I/DEBUG ( 107):
04-09 14:16:04.895 I/DEBUG ( 107): backtrace:
04-09 14:16:04.895 I/DEBUG ( 107): #00 pc 0000d0f8 /system/lib/libc.so
04-09 14:16:04.895 I/DEBUG ( 107): #01 pc 00049f9f /system/lib/libmedia.so (android::AudioRecord::stop()+50)
04-09 14:16:04.895 I/DEBUG ( 107): #02 pc 0000aa2f /system/lib/libwilhelm.so
04-09 14:16:04.895 I/DEBUG ( 107): #03 pc 0001966b /system/lib/libwilhelm.so
04-09 14:16:04.895 I/DEBUG ( 107): #04 pc 00001929 /data/app-lib/com.csipsimple-2/libpj_opensl_dev.so
04-09 14:16:04.895 I/DEBUG ( 107): #05 pc 00001e3d /data/app-lib/com.csipsimple-2/libpj_opensl_dev.so
04-09 14:16:04.895 I/DEBUG ( 107): #06 pc 000b73d9 /data/app-lib/com.csipsimple-2/libpjsipjni.so (pjmedia_aud_stream_create+124)
04-09 14:16:04.895 I/DEBUG ( 107): #07 pc 000ab665 /data/app-lib/com.csipsimple-2/libpjsipjni.so
04-09 14:16:04.895 I/DEBUG ( 107): #08 pc 000ab7d1 /data/app-lib/com.csipsimple-2/libpjsipjni.so (pjmedia_snd_port_create2+164)
04-09 14:16:04.895 I/DEBUG ( 107): #09 pc 0008c4ad /data/app-lib/com.csipsimple-2/libpjsipjni.so
04-09 14:16:04.895 I/DEBUG ( 107): #10 pc 0008da49 /data/app-lib/com.csipsimple-2/libpjsipjni.so (pjsua_set_snd_dev+244)
04-09 14:16:04.895 I/DEBUG ( 107): #11 pc 0008dc45 /data/app-lib/com.csipsimple-2/libpjsipjni.so (pjsua_conf_connect+424)
04-09 14:16:04.895 I/DEBUG ( 107): #12 pc 0001e410 /system/lib/libdvm.so (dvmPlatformInvoke+112)
04-09 14:16:04.895 I/DEBUG ( 107): #13 pc 0004d05d /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+392)
04-09 14:16:04.895 I/DEBUG ( 107): #14 pc 00027820 /system/lib/libdvm.so
04-09 14:16:04.895 I/DEBUG ( 107): #15 pc 0002b6b4 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+176)
04-09 14:16:04.895 I/DEBUG ( 107): #16 pc 0005f855 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+272)
04-09 14:16:04.895 I/DEBUG ( 107): #17 pc 000496af /system/lib/libdvm.so
04-09 14:16:04.895 I/DEBUG ( 107): #18 pc 000bc31b /data/app-lib/com.csipsimple-2/libpjsipjni.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+18)
04-09 14:16:04.895 I/DEBUG ( 107): #19 pc 000c78fb /data/app-lib/com.csipsimple-2/libpjsipjni.so (SwigDirector_Callback::on_call_media_state(int)+62)
04-09 14:16:04.895 I/DEBUG ( 107): #20 pc 000c94ab /data/app-lib/com.csipsimple-2/libpjsipjni.so (on_call_media_state_wrapper+14)
04-09 14:16:04.905 I/DEBUG ( 107): #21 pc 00082cdd /data/app-lib/com.csipsimple-2/libpjsipjni.so
04-09 14:16:04.905 I/DEBUG ( 107): #22 pc 0009a2ed /data/app-lib/com.csipsimple-2/libpjsipjni.so
04-09 14:16:04.905 I/DEBUG ( 107): #23 pc 0009b331 /data/app-lib/com.csipsimple-2/libpjsipjni.so
04-09 14:16:04.905 I/DEBUG ( 107): #24 pc 0009b76d /data/app-lib/com.csipsimple-2/libpjsipjni.so (pjsip_inv_answer+60)
04-09 14:16:04.905 I/DEBUG ( 107): #25 pc 00080f11 /data/app-lib/com.csipsimple-2/libpjsipjni.so (pjsua_call_answer2+460)
04-09 14:16:04.905 I/DEBUG ( 107): #26 pc 000c3f4d /data/app-lib/com.csipsimple-2/libpjsipjni.so (Java_org_pjsip_pjsua_pjsuaJNI_call_1answer2+14)
04-09 14:16:04.905 I/DEBUG ( 107): #27 pc 0001e410 /system/lib/libdvm.so (dvmPlatformInvoke+112)
04-09 14:16:04.905 I/DEBUG ( 107): #28 pc 0004d05d /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+392)
04-09 14:16:04.905 I/DEBUG ( 107): #29 pc 00027820 /system/lib/libdvm.so
04-09 14:16:04.905 I/DEBUG ( 107): #30 pc 0002b6b4 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+176)
04-09 14:16:04.905 I/DEBUG ( 107): #31 pc 0005f855 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+272)
Related
Commit: [r1]
Commit: [r2]
Commit: [r3]
Commit: [r4]
Commit: [r5]
Commit: [r6]
Commit: [r7]
Commit: [r8]
Commit: [r9]
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: dlake...@gmail.com
I get the same issue PJ_EEOF on outgoing call via TLS when using my Galaxy Tab 2 (stock Android from Samsung, 4.1.1 build number JRO03C.P3113UECLK7 )
changing to Java vs OpenSL doesn't change anything.
Using the same version of CSS I have no trouble on my Samsung Exhibit 4g Android 2.3.6 baseband version: T679UVLE1
so apparently this is related to some kind of difference between 2.3 era and 4.1 era
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: privus...@gmail.com
I also can confirm this issue (PJ_EEOF on outgoing call) with Galaxy S3 LTE (i9305) and CM 10.1 using TLS as a transport. Both CSipSimple and CM are very recent nightly builds.
With me this problem comes and goes, seemingly at random times. What I do is simply redial and it usually goes away at the 2nd or 3rd try. Not a solution but a somewhat acceptable work around until we can get it fixed.
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: r3gis...@gmail.com
(No comment was entered for this change.)
Status: Done
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: hvtaifwk...@gmail.com
[r2215] crashes in the same place
Related
Commit: [r2215]
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: privus...@gmail.com
Hi,
Why has this issue been closed? Has it been resolved?
At least for me the issue remains. I still get the PJ_EEOF error when using TLS transport (I think this error has to do with TLS and Android 4.1 and above).
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: r3gis...@gmail.com
@privus the problem you mention can normally have a workaround by installing a version of CSipSimple with openssl bundled.
http://nightlies.csipsimple.com/specific_builds/CSipSimple-fullOpenSSL.apk
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: privus...@gmail.com
Hi Regis,
Indeed the PJ_EEOF error seems to have been resolved with the OpenSSL build.
Thanks
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: privus...@gmail.com
Can you point me to some documentation/tutorial on how to bundle the OpenSSL library ourselves instead of having to download your compiled version? I'm sure others would appreciate learning how to do it on our own too.
Thanks
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: r3gis...@gmail.com
It's the same than the HowToBuild wiki page + modify the file https://code.google.com/p/csipsimple/source/browse/trunk/CSipSimple/jni/Application.mk#22
Line 27 : set the MY_USE_STATIC_SSL flag to 1
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: privus...@gmail.com
Thanks Regis.
Now that you point it out it seems so obvious.
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: privus...@gmail.com
Just to update this issue in case others come looking for info.
Although the number of PJ_EEOF errors have decreased since using the full openssl build, they have not gone away. It seems my celebration was a little premature.
It would be nice to hear from others and their results...
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: calgaryk...@gmail.com
Is is just me or is nightlies.csipsimple.com not on-line? I haven't been able to get to it for days.
Kev
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: privus...@gmail.com
I think the problem is on your end. I can access the site without any
problems.
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: calgaryk...@gmail.com
And all of a sudden it's back!
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: calgaryk...@gmail.com
CSipSimple-fullOpenSSL.apk doesn't install for me. I have Unknown Sources enabled. Just says App not installed.
My PJ_EEOF error only happens on my Nexus 4 when I dial long distance (11 digits) otherwise seems fine. I don't see the error on my old Nexus S either. Both are running [r2239].
For some reason Update Nightly build tells me No update available.
Related
Commit: [r2239]
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: r3gis...@gmail.com
@calgary : you were right the server were down. Thanks for raising the problem.
About why the app doesn't install, it's weird. Is there another sip app that could be a fork of csipsimple installed?
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: privus...@gmail.com
Update: I recompiled from scratch with the full openssl static library, and I have not seen any more PJ_EEOF errors on my 4.2.2 Samsung S3 (i9305).
I think this fixed the issue.
Now if only I could find some fix for the ZRTP replay errors https://code.google.com/p/csipsimple/issues/detail?id=2378, I'd be very happy....
Related
Tickets:
#2378View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: dlake...@gmail.com
I still have this problem. The OpenSSL build seems to fix it but will this be fixed in the market version, and/or will the openssl build be updated regularly? Until then this bug can cause problems since google play wants to either auto-update all or auto-update none (as opposed to before where you could check certain things to auto-update), so now I can't auto-update anything because csipsimple updates will break on my phone.
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: nen...@gmail.com
Same as Daniel in comment #21 I still have this issue with HTC One on Android 4.2.2, and "full-OpenSSL" binary solves it. So my question is will there be updated "full-OpenSSL version" for download, or, since there is more and more devices running 4.2.2 should the PlayStore version be compiled with full OpenSSL ?
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: PorchLig...@gmail.com
This seems to be a larger problem with ICS. I have tried a few SIP apps and all have problems with SRTP and outgoing calls. Sometimes it will work, but not often. No SRTP packets are sent from the phone when placing a call. Receiving calls is fine. I am running CM9.1 ICS 4.0.4
The full-OpenSSL rom does not fix it for me. No errors that I have noticed in the logcat.
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: crypto...@gmail.com
Yeah, behaviour has been sketchy with the static openssl builds. We ended up just ignoring the message and retrying the call on PJ_EEOF. Otherwise if the user had installed a normal build of csipsimple, he had to clear the cache, the dalvik cache and app data to get flawless behaviour.
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: mburak...@gmail.com
CSipSimple with openssl does not solve the problem for me. I have s3 with 4.0.4 and xperia ray and arc s with 2.3.6 . Sorry but nothing change. TLS and SRTP is used.