The VoipMediaEngine..::.START_SIP_TELEPHONY_PARAMS type exposes the following members.
 Fields
Fields
| Name | Description | |||||||
|---|---|---|---|---|---|---|---|---|
|  | AudioPlaybackBandWidth | 
Specifies the internal rate and format to use for internal audio playback operations. 
Currently the only value supported is AUDIO_BW_PCM_22K.
 | ||||||
|  | AudioRecordBandWidth | 
Specifies the internal rate and format to use for internal audio record operations. Currently the only 
value supported is AUDIO_BW_PCM_22K.
 | ||||||
|  | CallConferenceEnabled | 
Allows application software to specify the enable state of conference calling. If your application does not 
require conference call capability, you should disable conference call support by setting this member to 
zero. Doing so will reduce the memory requirements of your VOIP application.
 
 | ||||||
|  | DtmfEnabled | 
This value must be set to non zero if the VOIP application wants to enable internal in-band or RFC2833 
DTMF generation and detection.
 | ||||||
|  | DtmfIncomingPhoneLineEventBuffers | 
When incoming in-band or RFC2833 DTMF events are detected by the media engine's RTP receivers, the DTMF 
events are "minimally" processed and placed into an internal FIFO queue for full deferred processing. This 
alleviates RTP receivers from possibly introducing latency in the incoming media path. This startup parameter 
controls the incoming FIFO depth on a per phone line basis. If your VOIP application is under heavy load, 
the media engine will send your application the SipPhoneLineIncomingDtmfEventOverflow event if it runs 
out of FIFO event space in the processing queue. In this case, you should either execute your application 
on a faster host  computer or try increasing the value of this parameter. The internal default value is 5, 
which is also the minimum allowed value.
 | ||||||
|  | DtmfLocalAudioPlaybackBuffering | 
Specifies the internal audio buffering depth of DTMF sample blocks (from the internal DTMF generator) 
as they are sent to local multimedia hardware for local playback. This value is generally set to 2 to 
imply "double buffering". If your host computer is slow or you experience broken DTMF local audio 
playback, you may have to increase this value.
 | ||||||
|  | DtmfPhoneLineAudioBuffering | 
Specifies the audio buffering depth of DTMF sample blocks (from the internal DTMF generator) as they 
are sent to all enabled phone lines. This value is generally set to 2 to imply "double buffering". 
If your host computer is slow or you experience broken DTMF audio at the far end of the call, you 
may have to increase this value.
 | ||||||
|  | DtmfTonesPlayedLocally | 
If this value is set to a non zero value, DTMF tones will be able to be played back on local multimedia 
hardware (if enabled) whenever the VOIP application turns a DTMF digit ON.  Note that this parameter 
allows the media engine to configure itself to support this capability. The application can at any 
time determine if DTMF tones get played back locally when the DTMF tone is started using the StartDtmfTone(Int32, UInt32, VoipMediaEngine..::.DTMF_TONE, UInt32, Boolean, Boolean, Boolean) 
API procedure.
 | ||||||
|  | DtmfTonesTransmittedOutPhoneLines | 
If this value is set to a non zero value, DTMF tones will be able to be sent out the phone lines when 
the application starts a DTMF tone. The 8kHz DTMF tone information is taken from the internal DTMF 
generator and digitally mixed with phone line transmitted RTP media. Note that this parameter allows 
the media engine to configure itself to support this capability. The application can at any time determine 
if DTMF tones get played out any individual phone line when the DTMF tone is started using the 
StartDtmfTone(Int32, UInt32, VoipMediaEngine..::.DTMF_TONE, UInt32, Boolean, Boolean, Boolean) API procedure.
 | ||||||
|  | EnableEventLogServers | 
The media engine has the ability to send "man readable" event messages to one or more event log servers. You 
can use the supplied event log server (EventLogD.exe) application to receive and view real time events 
that are sent to your application software. This capability is very useful for understanding the event 
mechanism of the media engine.
 If you do not enable event logging using this parameter, you can still use event logging later in your application. For more information regarding event logging, see the SetEventLogServer(Boolean, String, Int32) API procedure. If you do not enable event logging before instantiating the media engine, you will not see certain startup event that are sent to application software. | ||||||
|  | EnablePhoneLineRecording | 
If your application needs to record phone calls from any of the media engine's phone lines, you must enable 
this setting. Call recording using the media engine is simple and requires no application assistance 
other than starting and stopping the recording process. For complete details associated with phone call 
recording, see the StartPhoneLineRecording API procedure
 | ||||||
|  | EventLogServerList | 
Specifies the IP address or host name of one or more event log servers. This parameter is a string that contains 
comma delimited host names or IP addresses of the remote event log servers.
 | ||||||
|  | EventLogServerPortList | 
Specifies the UDP ports of one or more event log servers. This parameter is a string that contains comma 
delimited ports of the remote event log servers. The order of the ports is the same as the order of 
 | ||||||
|  | FarEndCallTransferEnabled | 
Allows application software to specify the enable state of far end initiated call transfers. For 
some applications, it is required that far end initiated call transfers do not take place. Most 
 | ||||||
|  | IpAddressOfThisHost | 
The 4 byte IP address you want the telephony engine to use. Byte 3 is the most significant byte of 
the IP address, Byte 0 is the least significant byte of the IP address.
 | ||||||
|  | LineMode | 
This member specifies the mode of each phone line. There is a single supported phone line mode 
available: SWITCH_LINE mode. For further details on this member, see VoipMediaEngine..::.LINE_MODE.
 | ||||||
|  | LogSipMessages | 
Specifies that the application software wants to log all SIP message transactions. To enable SIP message 
logging, set this member to TRUE. If SIP message logging is enabled, member SipLogFileName must also be 
specified. A SIP message log file will be created when the telephony engine is instantiated. The SIP message 
log will be closed when the telephony engine terminates. If a previous SIP message log file exists from 
a previous logging session, it will be overwritten. SIP logging capability is used for debug purposes. 
Normally, applications should not be logging SIP transactions unless you are debugging session connectivity 
problems. All SIP messages that are received or transmitted will be logged. If you want to generate SIP 
log files for specific phone lines, see the LogPhoneLineSipMessages(Int32, Boolean, String) API procedure.
 As an alternative to static log file generation, consider using the LanScape supplied SIP log server utility (SipLogD.exe) and call the SetSipLogServer(Boolean, String, Int32) API procedure in your application source code. If you use the SIP log server utility, you will not have to continually restart your application to view SIP message logs. | ||||||
|  | MaxLocalRtpPort | 
The maximum UDP port number that specifies the end of the usable UDP port range for the internal 
RTP stack. The telephony engine will use ports in the range of MinLocalRtpPort through (MaxLocalRtpPort-1)
during normal operation. This value must be an even number and must minimally be set to a value of 
(MinLocalRtpPort + (2 * Number of supported phone lines)).
 
 | ||||||
|  | MaxMixerLinebuffers | 
Specifies the max signal buffering that occurs internally in the media engine. Each mixer line buffer represents 
20Ms of audio sample data. The internal default value for this parameter is 64. If you do not want to 
change the default value when the media engine is initialized, then specify a value of zero.
 This parameter affects the max buffering depth for all internally handled audio sample blocks during digital mixing operations. Reducing this value will save memory but at the cost of possible interrupted or "choppy" audio. This value also has the effect of capping the maximum received voice delay that a phone line will experience. | ||||||
|  | MaxRtpPacketLength | 
This value will allow application programs to specify the maximum number of bytes that can be transmitted 
and received in any RTP UDP data packet. This byte count includes RTP header and media payload data. Primarily 
used when application software encodes transmitted RTP data and as the result of the encoding process, generates 
RTP UDP packets that are larger than normal RTP media packets.
 In addition: If an application encodes/decodes RTP media packets, the value specified by this parameter determines the maximum RTP buffer size of the RTP packets that are sent to the application. Under normal situations, application software should set this value to zero. In this case, the media engine will determine the appropriate RTP media buffer requirements. | ||||||
|  | MaxSipMesageLength | 
Allows the application to specify the maximum SIP message size that can be processed. 
Any value 1500 bytes or larger is generally acceptable.
 | ||||||
|  | MaxSipMessageReceiveFifoLength | 
This value allows application software to specify the maximum number of SIP messages that the media engine 
will hold in its receive fifo queue. If the media engine receive fifo is filled, application software will 
sent the global notification event NewSipSessionReceiveOverrun. In this case, the fifo depth should be increased 
or the media engine application should be hosted on a faster server machine.
 | ||||||
|  | MinLocalRtpPort | 
The minimum UDP port number the telephony engine’s internal RTP stack will use. This value must be 
an even number. Normally set to 8000. The telephony engine will use ports in the range of MinLocalRtpPort 
through (MaxLocalRtpPort-1) during normal operation. For further information, see the description for 
MaxLocalRtpPort immediately following this description.
 | ||||||
|  | NumPhoneLinesRequested | 
This member allows you to specify the number of phone lines the telephony engine will create 
and manage. Your specific image of the telephony engine has been designed to support the maximum 
number of phone lines and options you purchased. If for some reason you only want to instantiate 
a subset of the total number of supported lines, this member gives you the ability to do so. Allowing 
the telephony engine to create only the required number of phone lines save system resources and host 
memory.
 
 | ||||||
|  | PersonalityMicrocode | 
This is a reference to your LanScape supplied personality/microcode information. Personality and microcode 
information is linked to your build using a supplied LanScape language source code module. For further 
information regarding how to use personality module information, see the section Using Personality 
Microcode Information in the Software Developer's Reference.
 | ||||||
|  | PhoneDisplayName | 
An alternative name for the phone. Used for SIP display name purposes. This value is generally set to the 
same value as the pPhoneName member. The display name string you assign to the telephony engine can contain 
any of the following ASCII character code values: (0x20 - 0x21), (0x23 - 0x3B), 0x3D, (0x3F - 0x5B), (0x5D - 0x7E).
 | ||||||
|  | PhoneLinePlayoutBuffering | 
This value allows you to control the time scaled play out of streaming audio from
your multimedia record hardware to each individual phone line. This value allows
the application to   specify the audio adaptive "play out" buffering depth that will
be used when the media engine sends locally recorded audio to each individual phone
line. If your application does not configure the media engine to use locally recorded
audio from your multimedia hardware, this value is ignored.
 Under normal situations, this value can be set to 1 or 2. The lower the value, the less phone line transmit latency will be achieved. Setting this value higher will slightly increase audio transmit latency but will ensure continuous streaming transmit phone line audio. If for some reason you experience broken or "choppy" phone line transmit audio in your VOIP calls, increase this value until the transmit audio is clear and continuous. For multimedia record hardware and driver combinations that exhibit non real time timing characteristics, you may have to increase this parameter value to 4 or higher. Doing so will allow the media engine to properly compensate adaptively for the non real time nature of your selected record hardware/driver installation. | ||||||
|  | PhoneLineRecordBuffering | 
Specifies the audio buffering depth of recorded phone line audio. For most application, you should set this value to zero.
 | ||||||
|  | PhoneLineTransmitBuffering | 
Specifies the internal phone line transmit buffering depth that will be used for all audio data that is 
transmitted via the RTP protocol. Normally, double buffering is what is required for most applications. 
In this case, this value should be set to 2. Increasing the value of this parameter will act to increase 
audio transmit delays. You can specify values in the range of 2 to 64 inclusive.
 | ||||||
|  | PhoneName | 
Each instance of the telephony engine is considered a single phone set. SIP uses this name when calling other 
IP phones. The SIP endpoint on the far end of a call normally displays this name to the user when detecting an 
incoming call. This name is also used if you allow the telephony engine to register with a SIP proxy server or 
a registrar server. In the case of SIP proxy and registrar servers, this is the name of your telephony engine 
in the domain of the SIP proxy or registrar server. The name you assign to the telephony engine can contain 
any alphanumeric characters, (a-z, A-z or 0-9), and any of the following characters: dash (-), underscore 
(_), period (.), exclamation point (!), tilde (~) or asterisk (*). Also, the phone name must not contain any 
"white space" characters.
 | ||||||
|  | PlaybackBufferingDefault | 
Specifies the default internal playback buffering that will be used with audio data before final playback. 
This default buffering does not include buffering that is applied to internally generated telephony sounds 
or audio outputs. Normally, double buffering is what is required for most applications. In this case, 
this value should be set to 2.
 Depending on the operating system you are deploying to and the speed of the host hardware, a value greater than 2 might have to be specified to obtain smooth unbroken audio results. If you are specifying values greater than 2 for this parameter, you should use a faster host machine. Increasing the value of this parameter will increase playback delays. You can specify values in the range of 2 to 64 inclusive. | ||||||
|  | PlaybackBufferingDuringSounds | 
Specifies the internal playback buffering that will be used for internal telephony sounds and the audio output 
interface. Normally, double buffering is what is required for most applications. In this case, this value 
should be set to 2.
 Depending on the operating system you are deploying to and the speed of the host hardware, a value greater than 2 might have to be specified to obtain smooth unbroken audio results. If you find yourself specifying values greater than 2 for this parameter, you should use a faster host machine. Increasing the value of this parameter will increase playback delays for internal telephony generated sounds and the audio outputs. You can specify values in the range of 2 to 64 inclusive. | ||||||
|  | RandomlyAssignIncomingCallsToPhoneLines | 
Setting this startup value to non zero (TRUE) will allow the media engine to randomly assign incoming phone 
calls to any available phone line that is already not in use. If you are developing a server based VOIP 
application, you should set this value to non zero. Doing so will yields slightly better call handling 
performance and throughput. For all other application such as soft phones or non server based VOIP 
application, you can set this value to zero (FALSE).
 | ||||||
|  | SendLineInitializedEvents | 
This value will allow application programs to enable or disable the ability of the media engine to 
send phone line initialize events to the application during startup. If enabled, the media engine 
will send the SipLineInitialized PHONE_LINE_NOTIFICATION event to the application for each phone line 
created by the media engine. Large line applications generally use this to drive a GUI progress 
display when the VOIP application starts.
 | ||||||
|  | SipLogFileName | 
Specifies the path name of the SIP message log the telephony engine will create. This file name can 
be specified as a relative or absolute path.
 | ||||||
|  | SipPort | 
The UDP port number to be used by the telephony engine. Normally for SIP enabled applications, 
this value is set to port 5060. It can be any value you require.
 | ||||||
|  | SipUdpReceiveBufferSizeInBytes | 
This value allows application software to specify the low level SIP UDP receive buffer size that is used 
by the media engine. Application software can increase this value in the event that SIP UDP packets are 
lost due to Windows UDP receive buffering limitations. Setting the proper receive buffer size will allow 
the media engine to process calls as fast as possible. Normally this value can be specified to be zero. 
In this case, the media engine will compute its value based on startup parameters and line density.
 | ||||||
|  | SipUdpTransmitBufferSizeInBytes | 
This value allows application software to specify the low level SIP UDP transmit buffer size that is used 
by the media engine. Setting the proper transmit buffer size will allow the media engine to process calls 
as fast as possible. Normally this value can be specified to be zero. In this case, the media engine will 
compute its value based on startup parameters and line density.
 | ||||||
|  | StartupFlags | 
Specifies optional startup and terminate setting of the telephony engine. The following flags can be 
ORed together to specify the startup flags value:
 
 | ||||||
|  | UserDefinedData | 
This parameter can be assigned any object reference you desire. Its value is passed to your callback procedure 
specified in the previous member. Generally used to keep track of instance data.
 | ||||||
|  | UserNotifyCallbackProc | 
This is the main callback procedure (delegate) the telephony engine will execute when your application 
needs to be notified of telephony events.
 | ||||||
|  | UseSequentialRtpPorts | 
Allows application software to specify the use of sequential RTP media ports or random RTP media 
ports. The use of sequential RTP media ports can be useful when debugging VOIP applications. 
Alternatively, using random RTP media ports may improve security.
 | ||||||
|  | ZeroBasedAudioInDeviceId | 
The zero based ID of the multimedia audio input device the telephony engine will use for 
audio record operations. The device ID specified here is the same device ID as 
reported by the Windows multimedia APIs.
 You can use the following telephony API procedures to interrogate your system in order to see what multimedia hardware is installed: GetNumDigitalAudioInputDevices()()() If you specify the value of SIP_USE_PREFERED_AUDIO_DEVICE for this parameter, the telephony engine will use the preferred audio input device as specified by your system's multimedia settings. If you specify the value of SIP_AUDIO_DEVICE_NOT_USED for this parameter, the telephony engine will disable its internal audio device support and will not manage audio input devices on the system. | ||||||
|  | ZeroBasedAudioOutDeviceId | 
The zero based ID of the multimedia audio output device the telephony engine will use for 
audio playback operations. The device ID specified here is the same device ID as 
reported by the Windows multimedia APIs.
 You can use the following telephony API procedures to interrogate your system in order to see what multimedia hardware is installed: GetNumDigitalAudioOutputDevices()()() If you specify the value of SIP_USE_PREFERED_AUDIO_DEVICE for these parameters, the telephony engine will use the preferred audio output device as specified by your system's multimedia settings. If you specify the value of SIP_AUDIO_DEVICE_NOT_USED for this parameter, the telephony engine will disable its internal audio device support and will not manage audio output devices on the system. | 






 Note:
 Note: