Quantcast
Channel: Dialogic PowerMedia HMP GlobalCall and R4 API - Recent Threads
Viewing all 1151 articles
Browse latest View live

RE: fx_sendfax HMP linux

$
0
0

I can only state that:

ssp_x86Linux_boot: QERROR_WARNING(2) qkernerr.h  41400 qkernerr.h  41003

Points towards failure to open a Gstream because that stream id is already open. Meaning the gstream is used to pass the data down from host library to firmware, and seems it was not cleanup properly from prior usage.

Maybe there is some issue on the tear down of faxes once they complete?  

Does this happen all the time, or only once in a while?

Jeff


RE: HMP 3.0 SU361 crash

$
0
0

Hi Chris,

Thank you.

I'm going to verify these points.

Yvan

RE: HMP 3.0 SU361 crash

$
0
0

Yes, Chris raises a good point. I have seen this occur on newer SUs because OpenSSL libs were recently upgraded in HMP. Thus if system has other software installed which also uses OpenSSL it may cause problems/conflicts if the PATH leads HMP to find those older files first as opposed to loading the ones expected.

Meaning within gc_start, it will dynamically loads the two files (libeay32.dll and ssleay32.dll) within the libgch3r library. If it fails you may see the following typw of error returned:

Error: gc_Start(), GC ErrorValue: 0x126 - Invalid Call control library - may be corrupted, CCLibID: 0 - GLOBALCALL,CC ErrorValue: 0x126 - Invalid Call control library Error opening board device: (null)

Jeff

HMP 3.0 SU361 crash

$
0
0

Hi,

I have a problem with HMP3.0 SU361 on windows 7 pro 64 bits

I have a version of HMP3.0 SU 347 which run very good. I have update this with HMP with SU361 and after a moment HMP crash!
In a debug mode, HMP crash in Cheetah thread.

Is this problem is known by everybody?

Thank's for your collaboration

Yvan

RE: HMP 3.0 SU361 crash

$
0
0

Hi,

it's a good reason if my crash arrive while HMP start.

But my problem arrive while HMP is running. My application run normaly and, after a moment, my application stop. In debug mode, my application is stopped in Cheetah tthread!

May be a problem with develop version of HMP.

I'm going to verify my develop environment.

Many thank's.

Yvan

RE: HMP Linux 64 Bit Version

$
0
0

My understanding is that 64 bit OS is supported but 64 bit applications are not supported by HMP, thus it is required to force the compiler to generate 32 bit code (-m32 option in gcc).

Assuming my understading is correct I wonder if a full support for 64 bit application is in roadmap for HMP, does anyone know the answer to this question?

HMP Linux 64 Bit Version

$
0
0
I'm facing a problem now - when building my project for Linux,

the linker is looking for 64-bit version of the Dialogic libraries and cannot find them.

I tried to use -m32 gcc command line switch, but now the linker cannot locate 32-bit standard libs (like libc).



I also tried to re-arrange /etc/ld.so.conf to push 32-bit libs higher and launched ldconfig to rebuild the cache, but this didn't help.



Linux gurus, please help!

RE: HMP 4.1: how to record voice from IP?

$
0
0

Hello,

your code looks OK, except of 2 parts, First, you don't need to use dev_Connect for this app, dx_listen/ipm_Listen pair would do all you need. Second: In your snippet I don't see how sc_tsinfo is defined, as long as the timeslot pointer. It looks like the structure gets overwritten before xx_Listen is called. I'm attaching here some working code what is doing what your app needs, it plays, records, sends digits etc. Please give it a try, the interface should be self-explanatory. Please let me know if you have questions on using or reviewing it. It's a quite old demo, compiled with VS 6.0, but it's easy to turn to VS 9+,.


RE: HMP 4.1: how to record voice from IP?

$
0
0

Forgot to add, that the code I sent is for Windows VS, but it can be used in Linux apps as far as the IPM and voice resources are concerned.

HMP 4.1: how to record voice from IP?

$
0
0

I'm running HMP 4.1 on Linux. I try to record voice data coming from a RTP endpoint (ipm device), but the record file contains only silence.

I'm not confident with functions like dev_Connect(), dx_listen() and ipm_Listen. I thought that dev_Connect would connect my ipm device to my voice device in both ways and then I could record voice received over IP with dx_rec(), but as said I only record silence.
Here is my pseudo-code, I do the following:

1. create 2 imp devices for 2 RTP endpoints
2. create 2 voice devices for play/record functions
3. connect them together
4. start media bothway of 2 IP endpoints (first endpoint sends data over IP to second endpoint, loop over IP)
5. listen on second endpoint
6. start recording on voice device 2
7. play wave file on vocie device 1

A wireshark trace shows that play is working fine, data is sent over IP to the second endpoint but I record only silence. All funtions return successfully.


long m_ipmCCH1 = ipm_Open("ipmB1C1", 0, EV_SYNC);
long m_ipmCCH2 = ipm_Open("ipmB1C2", 0, EV_SYNC);

long m_voxH1 = dx_open("dxxxB1C1", 0);
long m_voxH2 = dx_open("dxxxB1C2", 0);

dev_Connect(m_ipmCCH1, m_voxH1, DM_FULLDUP, EV_SYNC);
dev_Connect(m_ipmCCH2, m_voxH2, DM_FULLDUP, EV_SYNC);

ipm_StartMedia(m_ipmCCH1, &MediaInfo1, DATA_IP_TDM_BIDIRECTIONAL, EV_SYNC);
ipm_StartMedia(m_ipmCCH2, &MediaInfo2, DATA_IP_TDM_BIDIRECTIONAL, EV_SYNC);

sc_tsinfo.sc_numts = 1;
sc_tsinfo.sc_tsarrayp = &lVoiceTS;

dx_getxmitslot(m_voxH2, &sc_tsinfo);

sc_tsinfo.sc_numts = 1;
sc_tsinfo.sc_tsarrayp = &lLineTS;

ipm_GetXmitSlot(m_ipmCCH2, &sc_tsinfo, EV_SYNC);

sc_tsinfo.sc_numts = 1;
sc_tsinfo.sc_tsarrayp = &lVoiceTS;

ipm_Listen(m_ipmCCH2, &sc_tsinfo, EV_SYNC);

sc_tsinfo.sc_numts = 1;
sc_tsinfo.sc_tsarrayp = &lLineTS;

dx_listen(m_voxH2, &sc_tsinfo);

iott_r.io_type = IO_DEV|IO_EOT; // record to file
iott_r.io_bufp = 0;
iott_r.io_offset = 0;
iott_r.io_length = -1;
iott_r.io_fhandle = open("record.wav", O_RDWR|O_CREAT|O_TRUNC, 0666);

xpb_r.wFileFormat = FILE_FORMAT_WAVE;
xpb_r.wDataFormat = DATA_FORMAT_PCM;
xpb_r.nSamplesPerSec = DRT_8KHZ;
xpb_r.wBitsPerSample = 16;

dx_reciottdata(m_voxH2,&iott_r,NULL,&xpb_r,EV_ASYNC);

iott_p.io_type = IO_DEV|IO_EOT; // play from file
iott_p.io_bufp = 0;
iott_p.io_offset = 0;
iott_p.io_length = -1; /* play till end of file */
iott_p.io_fhandle = open("play.wav", O_RDONLY);

xpb_p.wFileFormat = FILE_FORMAT_WAVE;
xpb_p.wDataFormat = DATA_FORMAT_PCM;
xpb_p.nSamplesPerSec = DRT_8KHZ;
xpb_p.wBitsPerSample = 16;

dx_playiottdata(m_voxH,&iott_p,NULL,&xpb_p,EV_ASYNC);

What is wrong/missing?
Any idea?

RE: HMP 4.1: how to record voice from IP?

$
0
0

I don't see any code, where did you send code?

RE: OS Support for System Rlease 6.1 for Linux

$
0
0

I believe we have tested up to RH 6.7 in this case with the 2.6.x kernel.

There are no plans for RH 7 or 64-bit support right now, as the no new feature are being added currently.

The recommendation in this case, is to port to HMP 4.1 baseline for either new O/S distribution or 64 bit support.

Jeff

OS Support for System Rlease 6.1 for Linux

$
0
0

What is the latest version of RHEL supported in SR6.1 for Linux?   The last update i saw was SU320 indicating support added for "Red hat Enterprise Linux 6".  Does that mean version 6.0 only, or are other 6.x releases built upon the 2.6 kernel supported also?  Are there plans to support version 7.0 or 7.1?

Also, was 64 bit support ever added to SR6.1 for Linux?

HMP and DNI: number of devices doesn't reflect the license

$
0
0

I have the following products:

HMP 4.1 Linux
DNI1210TEPE2HMP (4x E1)

License
Voice 150, Enhanced_RTP 30, Fax 150, RTP_G_711 30, AMR_NB 30, Native_Audio 30, Native_RTP 30, AMR_WB 30, G_722 30

When detecting the boards/devices with the SRL functions, I get the following:

2 physical boards:
Board name: brdB1
Board name: brdB2

Virtual board 1 on phys board 1: dxxxB1
Virtual board 2 on phys board 1: dxxxB2

Sub device on virtual board 1 of phys board 1: dxxxB1C1, dxxxB1C2, dxxxB1C3, dxxxB1C4
Sub device on virtual board 2 of phys board 1: dxxxB2C1, dxxxB2C2, dxxxB2C3, dxxxB2C4

Virtual board 1 on phys board 2: dtiB1
Virtual board 2 on phys board 2: dtiB2
Sub device on virtual board 1 of phys board 2: 31 devices
Sub device on virtual board 2 of phys board 2: 31 devices

Does that mean that I have only max 8 voice channels (dxxx)? According the license I should have 150...

The DNI board has 4 E1s, why do I see only 2?

RE: fx_sendfax HMP linux

$
0
0

Hi,

It stoped happening , it seems it wasn't issue on HMP but other software problem .

Thank You for Your reply.


RE: 2 IP_VIRTBOARDS opened , but always one RTP adress in SDP

RE: 2 IP_VIRTBOARDS opened , but always one RTP adress in SDP

$
0
0

Hi,

Thank You for Your answer.

At first i didn't use 2 IPT virtboards and i did receive calls on both eth0 and eth1 but i had same problem with RTP so i assumed

when i opened  2 boards that automaticly RTP will belong to coresponding ethernet card but it didn't . I will look into  this pdf You sugested .

Thanks

2 IP_VIRTBOARDS opened , but always one RTP adress in SDP

$
0
0

Hi,

I am using Linux HMP 4.1 dialogic release .  

I am trying to build application with  2 ethernet cards with different IP adresses .

I opened 2 virtual boards (first one to ip adress of eth0 ,second one to ip adress of eth1) , succefully and each board has half of all IP channels (they all opened ok ).

When i receive calls on eth0 it is ok , in SDP i see RTP adress of eth0

When i receive calls on eth1 it is not ok , in SDP i see RTP adrress of eth0 and i would like to see adress of eth1 .

Does anyone know how to set this ?

Thanks

Start pending on Windows 7

$
0
0

HI

I am facing the "Start pending" while I try to start the VFX Dialogic cards on Windows 7, I am using Release 6.0 DCM for windows 7.

Can someone let me know if VFX cards are compatible windows 7 at all? If yes then what I am I doing wrong?

Thanks

RE: SIP Instant Messaging via Dialogic HMP

$
0
0

Hi again. I have been trying to send an out of session SIP message as you described using this code:

    bool success = false;
    GC_PARM_BLKP parameterBlock = nullptr;
    GC_PARM_BLKP mimeBlock = nullptr;
    GC_PARM_BLKP returnBlock = nullptr;

    char *contentType = "Content-Type: text/plain";
    char *messageBody = "Message body goes here";

    char *userAgent = "User-Agent: VoiceGuideHMP";
    std::ostringstream contactUriSS;
    contactUriSS << "Contact: <sip:" << contactUri << ">;methods=\"INVITE, INFO, MESSAGE, SUBSCRIBE, BYE, CANCEL, NOTIFY, ACK, REFER\"";
    const std::string formattedContactUri = contactUriSS.str();

    if (gc_util_insert_parm_val(&parameterBlock, IPSET_MSG_SIP, IPPARM_MSGTYPE, sizeof(int), IP_MSGTYPE_SIP_MESSAGE) < 0 ||
        gc_util_insert_parm_ref_ex(&parameterBlock, IPSET_SIP_MSGINFO, IPPARM_REQUEST_URI, static_cast<unsigned long>(formattedContactUri.length() + 1), const_cast<char *>(formattedContactUri.c_str())) < 0 ||
        gc_util_insert_parm_ref(&parameterBlock, IPSET_SIP_MSGINFO, IPPARM_SIP_HDR, (strlen(userAgent) + 1), userAgent) < 0 ||
        gc_util_insert_parm_ref_ex(&mimeBlock, IPSET_MIME, IPPARM_MIME_PART_TYPE, static_cast<unsigned long>(strlen(contentType)) + 1, contentType) < 0 ||
        gc_util_insert_parm_val(&mimeBlock, IPSET_MIME, IPPARM_MIME_PART_BODY_SIZE, sizeof(unsigned long), strlen(messageBody)) < 0 ||
        gc_util_insert_parm_val(&mimeBlock, IPSET_MIME, IPPARM_MIME_PART_BODY, sizeof(unsigned long), reinterpret_cast<unsigned long>(messageBody)) < 0 ||
        gc_util_insert_parm_val(&parameterBlock, IPSET_MIME, IPPARM_MIME_PART, sizeof(unsigned long), reinterpret_cast<unsigned long>(mimeBlock)) < 0)
    {
        // log error
    }
    else if (gc_Extension(GCTGT_GCLIB_CHAN, ldid, IPEXTID_SENDMSG, parameterBlock, &returnBlock, EV_ASYNC) != GC_SUCCESS)
    {
        // log error
    }
    else
    {
        success = true;
    }

    if (mimeBlock != nullptr) gc_util_delete_parm_blk(mimeBlock);
    if (parameterBlock != nullptr) gc_util_delete_parm_blk(parameterBlock);
    if (returnBlock != nullptr) gc_util_delete_parm_blk(returnBlock);

    return success;


However this is failing when gc_Extension() is called. I retrieve error info and am logging this:

[2016-03-01 11:08:06] (0x00000d50) [Err] gc_Extension() failed in Extension_SipMessage() with LDID 3
[2016-03-01 11:08:06] (0x00000d50) [Err] gc_ErrorInfo() results - GCValue: 68, GCMessage Invalid parameter, CCLibID: 8, CCLibName: GC_H3R_LIB, CCLibValue: 48, CCLibMessage: IPERR_INVALID_ID.

In the Dialogic RTF logs I see this:

03/01/2016 10:52:56.738   8784       12824 gc                      APPL         gclib                           <:::: gc_Extension(target_type:12, target_id:40, exit_id:1, mode:async)
03/01/2016 10:52:56.738   8784       12824 gc_h3r       SH_UNP..ER DEBG         unpack.cpp:1339       !     0 ! >> Unpack::reqExtension : pIptDevice=0x5a9cf98,hCrn=0,extId=1,pInfoParmBlk=0x65ea498,pRetParmBlk=0x6edade8
03/01/2016 10:52:56.738   8784       12824 gc_h3r                  ERR1         unpack.cpp:1364       !     0 ! << Unpack::reqExtension : [48] - hCrn=0 is invalid
03/01/2016 10:52:56.738   8784       12824 gc_h3r                  WARN         sm_callcontrol.:1196  !     0 ! << Extension:reqExtension failed
03/01/2016 10:52:56.738   8784       12824 gc                      ERR1         gclib                 iptB1T19  ::::> gc_Extension(target_type:12, target_id:40, exit_id:1, mode:async) - returns:-1
03/01/2016 10:52:56.738   8784       12824 gc_h3r       SH_MGR     DEBG         sm_error.cpp:198      !     0 ! ShmErrorValue leaving OK...

I am wondering what I am doing wrong that would mean it was saying "hCrn=0 is invalid" when I am specifying GCTGT_GCLIB_CHAN.

Do you see any issues with my code? Should I be using IPPARAM_CONTACT_URI rather then IPPARAM_REQUEST_URI?

Thanks

Viewing all 1151 articles
Browse latest View live