# DSP files and MIPS requirements

The following table shows the MIPS usage for all the available DPMs supported by Natural Access:

DSP file/ ASCII ID string | Function | MIPS | Related API function | Related arguments
--- | --- | --- | --- | ---
adsir.f41 adsir.rcv | ADSI receiver | 2.67 | adiStartReceivingFSK |
adsix.f41 adsir.xmt | ADSI transmitter | 0.88 | adiStartSendingFSK |
amr.f41 amr.play amr.play_edtx | AMR play All rates | 3.00 | adiStartPlaying | encoding = ADI_ENCODE_AMR_475 ADI_ENCODE_AMR_515 ADI_ENCODE_AMR_59 ADI_ENCODE_AMR_67 ADI_ENCODE_AMR_74 ADI_ENCODE_AMR_795 ADI_ENCODE_AMR_102 ADI_ENCODE_AMR_122
amr.f41 amr.rec_475 amr.rec_515 amr.rec_590 amr.rec_670 amr.rec_740 amr.rec_795 amr.rec_102 amr.rec_122 | AMR record 4.75 kbit/s 5.15 kbit/s 5.90 kbit/s 6.70 kbit/s 7.40 kbit/s 7.95 kbit/s 10.20 kbit/s 12.20 kbit/s | 17.70 | adiStartRecording | encoding = ADI_ENCODE_AMR_475 ADI_ENCODE_AMR_515 ADI_ENCODE_AMR_59 ADI_ENCODE_AMR_67 ADI_ENCODE_AMR_74 ADI_ENCODE_AMR_795 ADI_ENCODE_AMR_102 ADI_ENCODE_AMR_122
callp.f41 callp.gnc | Call progress | 0.96 | adiStartCallProgress |
dtmf.f41/dtmfe.f41 dtmf.det_dtmf | DTMF only | 1.81 | adiStartDTMFDetector |
dtmf.f41/dtmfe.f41 dtmf.det_sil | Post- and pre- tone silence | 0.69 | adiStartEnergyDetector |
dtmf.f41/dtmfe.f41 dtmf.dtmf_sil_clrdwn | DTMF, post- and pre-tone silence, and one tone pair | 2.46 | adiStartProtocol |
dtmf.f41/dtmfe.f41 dtmf.det_clrdwn | 1 tone pair | 1.28 | adiStartToneDetector |
dtmf.f41/dtmfe.f41 dtmf.det_all | DTMF, post- and pre-tone silence, one tone pair, and one frequency | 2.72 | adiStartToneDetector |
dtmf.f41/dtmfe.f41 dtmf.det_sil_clrdwn_ced | Post- and pre-tone silence, one tone pair, and one frequency | 1.57 | adiStartToneDetector |
f_amr.f41 f_amr.cod | AMR encode | 18.40 | mspCreateChannel | channelType= AMREncodeSimplex
f_amr.f41 f_amr.dec | AMR decode | 3.80 | mspCreateChannel | channelType= AMRDecodeSimplex
f_amr.f41 f_amr.cod_rfc2833 | AMR encode with RFC 2833 | 19.60 | mspCreateChannel | channelType= AMREncodeSimplex FilterAttribs= MSP_FCN_ATTRIB_RFC2833
f_amr.f41 f_amr.dec_rfc2833 | AMR decode with RFC 2833 | 3.80 | mspCreateChannel | channelType= AMRDecodeSimplex FilterAttribs= MSP_FCN_ATTRIB_RFC2833
f_evrc.f41 f_evrc.cod | EVRC encode | 27.50 | mspCreateChannel | channelType= EVRCEncodeSimplex
f_evrc.f41 f_evrc.dec | EVRC decode | 3.50 | mspCreateChannel | channelType= EVRCDecodeSimplex
f_evrc.f41 f_evrc.cod_rfc2833 | EVRC encode with RFC 2833 | 29.00 | mspCreateChannel | channelType= EVRCEncodeSimplex FilterAttribs= MSP_FCN_ATTRIB_RFC2833
f_evrc.f41 f_evrc.dec_rfc2833 | EVRC decode with RFC 2833 | 3.80 | mspCreateChannel | channelType= EVRCDecodeSimplex FilterAttribs= MSP_FCN_ATTRIB_RFC2833
f_faxt38.f41 f_faxt38.relay | T.38 fax relay | 14.00 | mspCreateChannel | channelType= FaxRelayFullDuplex
f_g711.f41 f_g711.cod | G.711 encode | 1.50 | mspCreateChannel | channelType= G711EncodeSimplex
f_g711.f41 f_g711.dec | G.711 decode | 0.50 | mspCreateChannel | channelType= G711DecodeSimplex
f_g711.f41 f_g711.cod_rfc2833 | G.711 encode with RFC 2833 | 2.77 | mspCreateChannel | channelType= G711EncodeSimplex FilterAttribs= MSP_FCN_ATTRIB_RFC2833
f_g711.f41 f_g711.dec_rfc2833 | G.711 decode with RFC 2833 | 0.75 | mspCreateChannel | channelType= G711DecodeSimplex FilterAttribs= MSP_FCN_ATTRIB_RFC2833
f_g711vad.f41 f_g711vad.cod | G.711 encode | 1.50 | mspCreateChannel | channelType= G711EncodeSimplex
f_g711vad.f41 f_g711vad.dec | G.711 decode | 0.50 | mspCreateChannel | channelType= G711DecodeSimplex
f_g711vad.f41 f_g711vad.cod_rfc2833 | G.711 encode with RFC 2833 | 2.77 | mspCreateChannel | channelType= G711EncodeSimplex FilterAttribs= MSP_FCN_ATTRIB_RFC2833
f_g711vad.f41 f_g711vad.dec_rfc2833 | G.711 decode with RFC 2833 | 0.75 | mspCreateChannel | channelType= G711DecodeSimplex FilterAttribs= MSP_FCN_ATTRIB_RFC2833
f_g723.f41 f_g723.cod | G.723 encode | 16.2 | mspCreateChannel | channelType= G723EncodeSimplex
f_g723.f41 f_g723.dec | G.723 decode | 1.9 | mspCreateChannel | channelType= G723DecodeSimplex
f_g723.f41 f_g723.cod_rfc2833 | G.723 encode with RFC 2833 | 17.4 | mspCreateChannel | channelType= G723EncodeSimplex FilterAttribs= MSP_FCN_ATTRIB_RFC2833
f_g723.f41 f_g723.dec_rfc2833 | G.723 decode with RFC 2833 | 1.9 | mspCreateChannel | channelType= G723DecodeSimplex FilterAttribs= MSP_FCN_ATTRIB_RFC2833
f_g726.f41 f_g726.cod | G.726 encode | 8.05 | mspCreateChannel | channelType= G726EncodeSimplex
f_g726.f41 f_g726.dec | G.726 decode | 7.64 | mspCreateChannel | channelType= G726DecodeSimplex
f_g726.f41 f_g726.cod_rfc2833 | G.726 encode with RFC 2833 | 9.32 | mspCreateChannel | channelType= G726EncodeSimplex FilterAttribs= MSP_FCN_ATTRIB_RFC2833
f_g726.f41 f_g726.dec_rfc2833 | G.726 decode with RFC 2833 | 7.64 | mspCreateChannel | channelType= G726DecodeSimplex FilterAttribs= MSP_FCN_ATTRIB_RFC2833
f_g729a.f41 f_g729a.cod | G.729 encode | 13.1 | mspCreateChannel | channelType= G729EncodeSimplex
f_g729a.f41 f_g729a.dec | G.729 decode | 3.2 | mspCreateChannel | channelType= G729DecodeSimplex
f_g729a.f41 f_g729a.cod_rfc2833 | G.729 encode with RFC 2833 | 14.4 | mspCreateChannel | channelType= G729EncodeSimplex FilterAttribs= MSP_FCN_ATTRIB_RFC2833
f_g729a.f41 f_g729a.dec_rfc2833 | G.729 decode with RFC 2833 | 3.2 | mspCreateChannel | channelType= G729DecodeSimplex FilterAttribs= MSP_FCN_ATTRIB_RFC2833
f_gsm_fr.f41 f_gsm_fr.cod | GSM-FR encode | 5.10 | mspCreateChannel | channelType= GSMFREncodeSimplex
f_gsm_fr.f41 f_gsm_fr.dec | GSM-FR decode | 3.60 | mspCreateChannel | channelType= GSMFRDecodeSimplex
f_gsm_fr.f41 f_gsm_fr.cod_rfc2833 | GSM-FR encode with RFC 2833 | 5.30 | mspCreateChannel | channelType= GSMFREncodeSimplex FilterAttribs= MSP_FCN_ATTRIB_RFC2833
f_gsm_fr.f41 f_gsm_fr.dec_rfc2833 | GSM-FR decode with RFC 2833 | 2.50 | mspCreateChannel | channelType= GSMFRDecodeSimplex FilterAttribs= MSP_FCN_ATTRIB_RFC2833
f_ilbc_20.f41 f_ilbc_20.cod | iLBC encode 20 ms | 15.10 | mspCreateChannel | channelType= ILBC20EncodeSimplex
f_ilbc_20.f41 f_ilbc_20.dec | iLBC decode 20 ms | 7.10 | mspCreateChannel | channelType= ILBC20DecodeSimplex
f_ilbc_20.f41 f_ilbc_20.cod_rfc2833 | iLBC encode 20 ms with RFC 2833 | 16.60 | mspCreateChannel | channelType= ILBC20EncodeSimplex FilterAttribs= MSP_FCN_ATTRIB_RFC2833
f_ilbc_20.f41 f_ilbc_20.dec_rfc2833 | iLBC decode 20 ms with RFC 2833 | 8.60 | mspCreateChannel | channelType= ILBC20DecodeSimplex FilterAttribs= MSP_FCN_ATTRIB_RFC2833
f_ilbc_30.f41 f_ilbc_30.cod | iLBC encode 30 ms | 17.10 | mspCreateChannel | channelType= ILBC30EncodeSimplex
f_ilbc_30.f41 f_ilbc_30.dec | iLBC decode 30 ms | 7.50 | mspCreateChannel | channelType= ILBC30DecodeSimplex
f_ilbc_30.f41 f_ilbc_30.cod_rfc2833 | iLBC encode 30 ms with RFC 2833 | 18.60 | mspCreateChannel | channelType= ILBC30EncodeSimplex FilterAttribs= MSP_FCN_ATTRIB_RFC2833
f_ilbc_30.f41 f_ilbc_30.dec_rfc2833 | iLBC decode 30 ms with RFC 2833 | 9.00 | mspCreateChannel | channelType= ILBC30DecodeSimplex FilterAttribs= MSP_FCN_ATTRIB_RFC2833
g723.f41 g723.rec_64 g723.rec_53 | G.723 record 6.4 kbit/s 5.3 kbit/s | 15.5 14.5 | adiStartRecording | encoding = ADI_ENCODE_G723_6 ADI_ENCODE_G723_5
g723.f41 g723.play g723.play g723.play_edtx | G.723 play 6.4 kbit/s 5.3 kbit/s Variable | 1.8 1.4 1.8 | adiStartPlaying | encoding = ADI_ENCODE_G723_6 ADI_ENCODE_G723_5 ADI_ENCODE_G723_EDTX_G_723_6 ADI_ENCODE_G723_EDTX_G_723_5
g726.f41 g726.play_32 | G.726 play | 7.33 | adiStartPlaying | encoding = ADI_ENCODE_G726
g726.f41 g726.rec_32 | G.726 record | 6.72 | adiStartRecording | encoding = ADI_ENCODE_G726
g729a.f41 g729a.rec_64 | G.729 record 8 kbit/s | 12.5 | adiStartRecording | encoding = ADI_ENCODE_G729A
g729a.f41 g729a.play g729a.play_edtx | G.729 play 8 kbit/s Variable | 2.8 2.8 | adiStartPlaying | encoding = ADI_ENCODE_G729A ADI_ENCODE_EDTX_G729A
gsm_ms.f41 gsm_ms.frgsm_play gsm_ms.play_100 | MS-GSM play 8 kHz | 1.60 | adiStartPlaying | encoding = ADI_ENCODE_GSM maxspeed = 100
gsm_ms.f41 gsm_ms.play_150 | MS-GSM play 8 kHz | 3.60 | adiStartPlaying | encoding = ADI_ENCODE_GSM maxspeed = 150
gsm_ms.f41 gsm_ms.play_200 | MS-GSM play 8 kHz | 4.20 | adiStartPlaying | encoding = ADI_ENCODE_GSM maxspeed = 200
gsm_mspl.f41 gsm_mspl.frgsm_play | MS-GSM play (Limited) 8 kHz | 2.30 | adiStartPlaying | encoding = ADI_ENCODE_GSM maxspeed = 100
gsm_ms.f41 gsm_mspl.f41 gsm_ms.frgsm_rec gsm_mspl.frgsm_rec | MS-GSM record 8 kHz | 3.60 | adiStartRecording | encoding = ADI_ENCODE_GSM
ima.f41 ima.play_24 | IMA/DVI ADPCM play 6 kHz | 1.91 | adiStartPlaying | encoding = ADI_ENCODE_IMA_24
ima.f41 ima.play_32 | IMA/DVI ADPCM play 8 kHz | 1.62 | adiStartPlaying | encoding = ADI_ENCODE_IMA_32
ima.f41 ima.rec_24 | IMA/DVI ADPCM record 6 kHz | 1.91 | adiStartRecording | encoding = ADI_ENCODE_IMA_24
ima.f41 ima.rec_32 | IMA/DVI ADPCM record 8 kHz | 2.00 | adiStartRecording | encoding = ADI_ENCODE_IMA_32
mf.f41 mf.fdet_bcmpl | Forward detect, backward compelling | 2.56 | adiStartMFDetector |
mf.f41 mf.bdet_fcmpl | Backward detect, forward compelling | 2.56 | adiStartMFDetector |
mf.f41 mf.fdet_USA | MF detection | 1.81 | adiStartMFDetector |
mf.f41 mf.fdet | MF forward detection | 1.81 | adiStartMFDetector |
mf.f41 mf.bdet | MF backward detection | 1.81 | adiStartMFDetector |
nmsfax.f41 nmsfax | NaturalFax | 11.25 | See NaturalFax functions |
oki.f41 oki.play_24_100 | OKI Play 6 kHz | 2.10 | adiStartPlaying | encoding = ADI_ENCODE_OKI_24 maxspeed = 100
oki.f41 oki.play_32_100 | OKI play 8 kHz | 1.80 | adiStartPlaying | encoding = ADI_ENCODE_OKI_32 maxspeed = 100
oki.f41 oki.play_24_150 | OKI play 6 kHz 1.5X | 4.11 | adiStartPlaying | encoding = ADI_ENCODE_OKI_24 maxspeed = 150
oki.f41 oki.play_32_150 | OKI play 8 kHz 1.5X | 3.78 | adiStartPlaying | encoding = ADI_ENCODE_OKI_32 maxspeed = 150
oki.f41 oki.play_24_200 | OKI play 6 kHz 2.0X | 5.43 | adiStartPlaying | encoding = ADI_ENCODE_OKI_24 maxspeed = 200
oki.f41 oki.play_32_200 | OKI play 8 kHz 2.0X | 5.00 | adiStartPlaying | encoding = ADI_ENCODE_OKI_32 maxspeed = 200
oki.f41 oki.rec_24 | OKI record 6 kHz | 2.21 | adiStartRecording | encoding = ADI_ENCODE_OKI_24
oki.f41 oki.rec_32 | OKI record 8 kHz | 2.12 | adiStartRecording | encoding = ADI_ENCODE_OKI_32
ptf.f41 ptf.det_2f | 2 single frequency or 1 tone pair | 1.29 | adiStartToneDetector |
ptf.f41 ptf.det_4f | 4 single frequency or 2 tone pair | 1.81 | adiStartCallProgress | precmask!=0
rvoice.f41 rvoice.play_mulaw | mu-law play | 0.63 | adiStartPlaying | encoding = ADI_ENCODE_MULAW
rvoice.f41 rvoice.play_alaw | A-law play | 0.63 | adiStartPlaying | encoding = ADI_ENCODE_ALAW
rvoice.f41 rvoice.play_lin | WAVE play 8 kHz 16-bit | 0.63 | adiStartPlaying | encoding = ADI_ENCODE_PCM8M16
rvoice.f41 rvoice.rec_mulaw | mu-law record | 0.63 | adiStartRecording | encoding = ADI_ENCODE_MULAW
rvoice.f41 rvoice.rec_alaw | A-law record | 0.63 | adiStartRecording | encoding = ADI_ENCODE_ALAW
rvoice.f41 rvoice.rec_lin | WAVE record 8 kHz 16-bit | 0.63 | adiStartRecording | encoding = ADI_ENCODE_PCM8M16
rvoice_vad.f41 rvoice_vad.play_mulaw | mu-law play | 0.63 | adiStartPlaying | encoding = ADI_ENCODE_MULAW
rvoice_vad.f41 rvoice_vad.play_alaw | A-law play | 0.63 | adiStartPlaying | encoding = ADI_ENCODE_ALAW
rvoice_vad.f41 rvoice_vad.play_lin | WAVE play 8 kHz 16-bit | 0.63 | adiStartPlaying | encoding = ADI_ENCODE_PCM8M16
rvoice_vad.f41 rvoice_vad.rec_mulaw | mu-law record | 0.85 | adiCommandRecord adiStartRecording | encoding = ADI_ENCODE_MULAW
rvoice_vad.f41 rvoice_vad.rec_alaw | A-law record | 0.85 | adiCommandRecord adiStartRecording | encoding = ADI_ENCODE_ALAW
rvoice_vad.f41 rvoice_vad.rec_lin | WAVE record 8 kHz 16-bit | 0.85 | adiCommandRecord adiStartRecording | encoding = ADI_ENCODE_PCM8M16
tone.f41 tone.gen | Tone generator | 0.61 | adiStartDial adiStartDTMF adiStartTones |
voice.f41 voice.play_16_100 | NMS play 16 kbit/s | 2.95 | adiStartPlaying | encoding = ADI_ENCODE_NMS_16 maxspeed = 100
voice.f41 voice.play_24_100 | NMS play 24 kbit/s | 2.96 | adiStartPlaying | encoding = ADI_ENCODE_NMS_24 maxspeed = 100
voice.f41 voice.play_32_100 | NMS play 32 kbit/s | 2.95 | adiStartPlaying | encoding = ADI_ENCODE_NMS_32 maxspeed = 100
voice.f41 voice.play_64_100 | NMS play 64 kbit/s | 0.51 | adiStartPlaying | encoding = ADI_ENCODE_NMS_64 maxspeed = 100
voice.f41 voice.play_16_150 | NMS play 16 kbit/s 1.5X speedup | 5.86 | adiStartPlaying | encoding = ADI_ENCODE_NMS_16 maxspeed = 150
voice.f41 voice.play_24_150 | NMS play 24 kbit/s 1.5X speedup | 5.88 | adiStartPlaying | encoding = ADI_ENCODE_NMS_24 maxspeed = 150
voice.f41 voice.play_32_150 | NMS play 32 kbit/s 1.5X speedup | 5.95 | adiStartPlaying | encoding = ADI_ENCODE_NMS_32 maxspeed = 150
voice.f41 voice.play_64_150 | NMS play 64 kbit/s 1.5X speedup | 2.44 | adiStartPlaying | encoding = ADI_ENCODE_NMS_64 maxspeed = 150
voice.f41 voice.play_16_200 | NMS play 16 kbit/s 2.0X speedup | 7.41 | adiStartPlaying | encoding = ADI_ENCODE_NMS_16 maxspeed = 200
voice.f41 voice.play_24_200 | NMS play 24 kbit/s 2.0X speedup | 7.47 | adiStartPlaying | encoding = ADI_ENCODE_NMS_24 maxspeed = 200
voice.f41 voice.play_32_200 | NMS play 32 kbit/s 2.0X speedup | 7.53 | adiStartPlaying | encoding = ADI_ENCODE_NMS_32 maxspeed = 200
voice.f41 voice.play_64_200 | NMS play 64 kbit/s 2.0X speedup | 2.85 | adiStartPlaying | encoding = ADI_ENCODE_NMS_64 maxspeed = 200
voice.f41 voice.rec_16 | NMS record 16 kbit/s | 3.33 | adiStartRecording | encoding = ADI_ENCODE_NMS_16
voice.f41 voice.rec_24 | NMS record 24 kbit/s | 3.36 | adiStartRecording | encoding = ADI_ENCODE_NMS_24
voice.f41 voice.rec_32 | NMS record 32 kbit/s | 3.35 | adiStartRecording | encoding = ADI_ENCODE_NMS_32
voice.f41 voice.rec_64 | NMS record 64 kbit/s | 0.58 | adiStartRecording | encoding = ADI_ENCODE_NMS_64
wave.f41 wave.play_11_8b | WAVE play 11 kHz 8-bit | 1.58 | adiStartPlaying | encoding = ADI_ENCODE_PCM11M8
wave.f41 wave.play_11_16b | WAVE play 11 kHz 16-bit | 1.36 | adiStartPlaying | encoding = ADI_ENCODE_PCM11M16
wave.f41 wave.rec.11_8b | WAVE record 11 kHz 8-bit | 1.59 | adiStartRecording | encoding = ADI_ENCODE_PCM11M8
wave.f41 wave.rec_11_16b | WAVE record 11 kHz 16-bit | 1.20 | adiStartRecording | encoding = ADI_ENCODE_PCM11M16