[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [Bayonne-devel] Bayonne Globalcall TASKFAIL andTRUNK_CALL_FAILURE
From: |
Mladenovič Zoran |
Subject: |
RE: [Bayonne-devel] Bayonne Globalcall TASKFAIL andTRUNK_CALL_FAILURE |
Date: |
Fri, 3 Feb 2006 12:36:50 +0100 |
Sorry for late answer...vacations :-)
Our modifications in globalcall drivers:
- trunk.cpp - setting OPT-BACKW indicator in ACM msg. eACM,
only voice path is activated.
bool DialogicTrunk::acceptCall(void)
{
if(Trunk::flags.offhook || _accepted)
return false;
S7_IE_BLK ie_blk;
GC_IE_BLK gc_ie_blk;
ie_blk.length = 7;
ie_blk.length = 7;
ie_blk.data[0] = 0x11; /* Parameter name - BACKW indicator */
ie_blk.data[1] = 0x02; /* Parameter length - 2 byte's */
ie_blk.data[2] = 0x00; /* Parameter value - 1st byte */
ie_blk.data[3] = 0x00; /* Parameter value - 2nd byte */
ie_blk.data[4] = 0x29; /* Parameter name - OPT-BACKW indicator */
ie_blk.data[5] = 0x01; /* Parameter length - 1 byte */
ie_blk.data[6] = 0x01; /* Parameter value - 1st byte */
gc_ie_blk.gclib = NULL;
gc_ie_blk.cclib = &ie_blk;
gc_SetInfoElem(linedev, &gc_ie_blk);
if(gc_AcceptCall(crn, 0, EV_ASYNC) < 0)
//Julien tip START
{
slog (Slog::levelError)
<<"dx("<<id<<"):"<<"gc_AcceptCall("<<crn<<") == FAILURE call
state:"<<call_state<< endl; gc_ResetLineDev(linedev, EV_ASYNC);
gcResetLineDev=1;
slog(Slog::levelError)
<<"dx("<<id<<"):"<<"gc_ResetLineDev()"<<endl; postGCError("gc_AcceptCall");
return false;
}
//Julien tip STOP
_accepted = true;
return true;
}
- trunk.cpp - seting makecall in SS7 network
bool DialogicTrunk::makeCall(char digit[16], int timeout) {
MAKECALL_BLK makecall_blk;
GC_MAKECALL_BLK gclib_blk;
S7_MAKECALL_BLK s7_makecall_blk;
int rtn = 0;
s7_makecall_blk.ss7.trans_medium_req = TMR_3DOT1K_AUDIO;
s7_makecall_blk.ss7.destination_number_type = SS7_NATIONAL_NUMBER;
s7_makecall_blk.ss7.destination_number_plan = SS7_ISDN_NUMB_PLAN;
s7_makecall_blk.ss7.internal_network_number = INN_ALLOWED; //
s7_makecall_blk.ss7.continuity_check_indicator = CCI_CC_NOTREQUIRED;
if(data.dialxfer.callingdigit)
{
s7_makecall_blk.ss7.origination_number_type = SS7_NATIONAL_NUMBER;
s7_makecall_blk.ss7.origination_number_plan = SS7_ISDN_NUMB_PLAN;
s7_makecall_blk.ss7.origination_present_restrict =
PRESENTATION_ALLOWED; s7_makecall_blk.ss7.origination_screening =
SCREEN_NETWORK_PROVIDED; s7_makecall_blk.ss7.calling_party_category =
SS7_ORDINARY_SUBS_CATEGORY;
sprintf(s7_makecall_blk.ss7.origination_phone_number,
data.dialxfer.callingdigit);
}
else
{
s7_makecall_blk.ss7.origination_number_type = NAT_NUMBER;
s7_makecall_blk.ss7.origination_number_plan = SS7_ISDN_NUMB_PLAN;
s7_makecall_blk.ss7.origination_present_restrict =
PRESENTATION_ALLOWED; s7_makecall_blk.ss7.origination_screening =
SCREEN_NETWORK_PROVIDED;
s7_makecall_blk.ss7.origination_phone_number[0] = '\0';
s7_makecall_blk.ss7.calling_party_category =
SS7_ORDINARY_SUBS_CATEGORY; }
gclib_blk.gclib = NULL;
gclib_blk.cclib = (void *)&s7_makecall_blk;
rtn = gc_MakeCall(linedev, &crn, digit, &gclib_blk, 0, EV_ASYNC);
if(rtn < 0)
{
return false;
}
if(timeout)
TimerPort::setTimer(data.dialxfer.timeout + 120
*strlen(data.dialxfer.digit));
return true;
}
- trunk.cpp - parsing additional parameters in IAM msg.
/**
* New pstn symbols have been implemented for globalcall drivers.
* They are read (parsed) from the ISUP message for a particular line device.
* The added symbols are: DNID, OCN, REDIRECTING_NUMBER, GENERIC, CLID */
void DialogicTrunk::getCallerId(void)
{
char cid[GC_ADDRSIZE];
strcpy((char *)cid, "pstn:");
char buffer[33];
getName(buffer);
if(gc_GetANI(crn, cid + 5) == GC_SUCCESS)
{
setConst(SYM_CALLER, (char *)cid);
setConst(SYM_CLID, (char *)cid + 5);
}
if(gc_GetDNIS(crn, cid + 5) == GC_SUCCESS)
{
setConst(SYM_DIALED, (char *)cid);
setConst(SYM_DNID, (char *)cid + 5);
}
METAEVENT metaevent; /* The metaevent for line device. */
GC_INFO gc_error_info; /* GlobalCall error information data. */
GC_PARM parm_val; /* Get cyclic buffer length.*/
// Get meta event structure.
int retcode = gc_GetMetaEvent(&metaevent);
if (retcode < 0) {
/* process error return as shown */
gc_ErrorInfo( &gc_error_info );
printf ("Error: gc_GetMetaEvent() on linedev: 0x%lx, GC ErrorValue:
0x%hx - %s, CCLibID: %i - %s, CC ErrorValue: 0x%lx - %s\n",
linedev, gc_error_info.gcValue, gc_error_info.gcMsg,
gc_error_info.ccLibId, gc_error_info.ccLibName,
gc_error_info.ccValue, gc_error_info.ccMsg);
}
char msg_buffer[300]; // Should be enough to hold any ISUP message.
if (gc_GetSigInfo(linedev, msg_buffer, U_IES, &metaevent) !=
GC_SUCCESS) { /* process error return as shown */
gc_ErrorInfo( &gc_error_info );
printf ("Error: gc_GetSigInfo() on linedev: 0x%lx, GC ErrorValue:
0x%hx - %s, CCLibID: %i - %s, CC ErrorValue: 0x%lx - %s\n",
linedev, gc_error_info.gcValue, gc_error_info.gcMsg,
gc_error_info.ccLibId, gc_error_info.ccLibName,
gc_error_info.ccValue, gc_error_info.ccMsg);
}
else {
S7_SIGINFO_BLK *blk_p = (S7_SIGINFO_BLK *) msg_buffer;
/* <print out event raw data> */
printf("gc_GetSigInfo() : \n");
printf("[%02x, %02x] : ", blk_p->prim, blk_p->length );
cout << hex_bytes((unsigned char *) msg_buffer, blk_p->length)
<< endl;
S7_IE *ie_p = (S7_IE *) &(blk_p -> data);
do {
unsigned char *data_p = &ie_p->value;
printf("[%02x, %02x] : ", ie_p->parm, ie_p->length );
cout << hex_bytes(data_p, ie_p->length) << endl;
ie_p = (S7_IE *)(data_p + ie_p->length);
} while ((char *) ie_p < (char *) blk_p + blk_p->length);
/* </print out event raw data> */
/* <parse and assign parameters> */
ie_p = (S7_IE *) &(blk_p -> data);
do {
unsigned char *data_p = &ie_p->value;
switch (ie_p->parm) {
// DNID
case 0x04:
unsigned char dnidnoa[GC_ADDRSIZE];
byte_to_dec(dnidnoa, data_p[0] & 0x7f);
//cout << "dnidnoa : " << dnidnoa << endl;
setConst(SYM_DNID_NOA, (char *) dnidnoa);
unsigned char dnidpri[GC_ADDRSIZE];
byte_to_dec(dnidpri, data_p[1] & 0x0c);
//cout << "dnidpri : " << dnidpri << endl;
setConst(SYM_DNID_PRI, (char *) dnidpri);
unsigned char dnid[GC_ADDRSIZE];
BCD_to_char(dnid, data_p+2, ie_p->length-2);
//cout << "dnid :" << dnid << endl;
setConst(SYM_DNID, (char *) dnid);
break;
// OCN
case 0x28:
unsigned char ocnnoa[GC_ADDRSIZE];
byte_to_dec(ocnnoa, data_p[0] & 0x7f);
//cout << "ocnnoa : " << ocnnoa << endl;
setConst(SYM_OCN_NOA, (char *) ocnnoa);
unsigned char ocnpri[GC_ADDRSIZE];
byte_to_dec(ocnpri, data_p[1] & 0x0c);
//cout << "ocnpri : " << ocnpri << endl;
setConst(SYM_OCN_PRI, (char *) ocnpri);
unsigned char ocn[GC_ADDRSIZE];
BCD_to_char(ocn, data_p+2, ie_p->length-2);
//cout << "ocn :" << ocn << endl;
setConst(SYM_OCN, (char *) ocn);
break;
// REDIRECTING_NUMBER
case 0x0B:
unsigned char rednoa[GC_ADDRSIZE];
byte_to_dec(rednoa, data_p[0] & 0x7f);
//cout << "rednoa : " << rednoa << endl;
setConst(SYM_REDIRECT_NOA, (char *) rednoa);
unsigned char redpri[GC_ADDRSIZE];
byte_to_dec(redpri, data_p[1] & 0x0c);
//cout << "redpri : " << redpri << endl;
setConst(SYM_REDIRECT_PRI, (char *) redpri);
unsigned char red[GC_ADDRSIZE];
BCD_to_char(red, data_p+2, ie_p->length-2);
//cout << "red :" << red << endl;
setConst(SYM_REDIRECT, (char *) red);
break;
// GENERIC
case 0xc0:
unsigned char genericnoa[GC_ADDRSIZE];
byte_to_dec(genericnoa, data_p[1] & 0x7f);
//cout << "genericnoa : " << genericnoa << endl;
setConst(SYM_GENERIC_NOA, (char *) genericnoa);
unsigned char genericpri[GC_ADDRSIZE];
byte_to_dec(genericpri, data_p[2] & 0x0c);
//cout << "genericpri : " << genericpri << endl;
setConst(SYM_GENERIC_PRI, (char *) genericpri);
unsigned char generic[GC_ADDRSIZE];
BCD_to_char(generic, data_p+3, ie_p->length-3);
//cout << "generic :" << generic << endl;
setConst(SYM_GENERIC, (char *) generic);
break;
// CLID
case 0x0a:
unsigned char clidnoa[GC_ADDRSIZE];
byte_to_dec(clidnoa, data_p[0] & 0x7f);
//cout << "clidnoa : " << clidnoa << endl;
setConst(SYM_CLID_NOA, (char *) clidnoa);
unsigned char clidpri[GC_ADDRSIZE];
byte_to_dec(clidpri, data_p[1] & 0x0c);
//cout << "clidpri : " << clidpri << endl;
setConst(SYM_CLID_PRI, (char *) clidpri);
unsigned char clid[GC_ADDRSIZE];
BCD_to_char(clid, data_p+2, ie_p->length-2);
//cout << "clid :" << clid << endl;
setConst(SYM_CLID, (char *) clid);
break;
}
// Move pointer to the next information element.
ie_p = (S7_IE *)(data_p + ie_p->length);
} while ((char *)ie_p < (char *) blk_p + blk_p->length);
/* </parse and assign parameters> */
}
}
- driver.cpp - seting parameters for ???????
/**
* Setting the cyclic buffer length to non zero value. This makes
* possible to get ISUP message in trunk.cpp with gc_GetSigInfo(...)
* function.
/*
int set_parm(LINEDEV ldev)
{
GC_INFO gc_error_info; /* GlobalCall error information data */
GC_PARM gc_parm; /* parm values */
/*
* Set cyclic buffer length.
*/
gc_parm.charvalue = 20;
if ( gc_SetParm(ldev, GCPR_RECEIVE_INFO_BUF, gc_parm) != GC_SUCCESS) {
/* process error return as shown */
gc_ErrorInfo( &gc_error_info );
printf ("Error: gc_SetParm() on device handle: 0x%lx, GC ErrorValue:
0x%hx - %s, CCLibID: %i - %s, CC ErrorValue: 0x%lx - %s\n",
ldev, gc_error_info.gcValue, gc_error_info.gcMsg,
gc_error_info.ccLibId, gc_error_info.ccLibName,
gc_error_info.ccValue, gc_error_info.ccMsg);
return (gc_error_info.gcValue);
}
return (0);
}
- driver.cpp - opening voice device
card = ((s - 1) * 30 + i) / 4 + 1;
vox = ((s - 1) * 30 + i) % 4 + 1;
portidx = i + (getSpanPorts() * (s - 1));
devmap[portidx].tsdev = devmap[portidx].chdev = -1;
sprintf(devmap[portidx].voicedev, "dxxxB%dC%d", card, vox);
if(!stricmp(getSpanProtocol(), "ss7"))
{
sprintf(devmap[portidx].devname,
":L_SS7:N_dtiB%dT%d:P_%s:V_%s", s, i + 1, getSpanProtocol(),
devmap[portidx].voicedev); }
Br
Zoran
-----Original Message-----
From: address@hidden [mailto:address@hidden On Behalf Of Julien Chavanton
Sent: Wednesday, January 18, 2006 9:57 PM
To: Mladenovič Zoran; David Sugar
Cc: address@hidden
Subject: RE: [SPAM] - RE: [Bayonne-devel] Bayonne Globalcall TASKFAIL
andTRUNK_CALL_FAILURE - Bayesian Filter detected spam
Please post your change for future reference if needed.
Thank you,
Julien
-----Original Message-----
From: Mladenovic Zoran [mailto:address@hidden
Sent: January 17, 2006 5:20 AM
To: Julien Chavanton; David Sugar
Cc: address@hidden
Subject: RE: [SPAM] - RE: [Bayonne-devel] Bayonne Globalcall TASKFAIL and
TRUNK_CALL_FAILURE - Bayesian Filter detected spam
We are using dm3 DMW1200 E1 cards with external SIU520 for signaling. In order
to make everything work, driver.cpp need's to be changed to open ss7 device
(":L_SS7:N_dtiB%dT%d:P_%s:V_%s"). trunk.cpp was also changed, for parsing
additional messages in IAMa and applying eACM to achieve charge free calls. If
interested, I can post that changes.
REL is release and RLC is release complete ISUP message. I'm interested how you
solve short call properly. Can you send me changes you've made?
Zoran
-----Original Message-----
From: Julien Chavanton [mailto:address@hidden
Sent: Saturday, January 14, 2006 2:16 AM
To: Mladenovič Zoran; David Sugar
Cc: address@hidden
Subject: RE: [SPAM] - RE: [Bayonne-devel] Bayonne Globalcall TASKFAIL and
TRUNK_CALL_FAILURE - Bayesian Filter detected spam
This is interresting,
You are using globalcall with SS7, can you let us know what drivers version and
board you are using.
I do not know bout REL or RLC
I know the fix I use are working with Globalcall/Isdn.
1.000.000 calls and 99% asr with all the Ports/DS0 still running.
Performance is good even if I am still running redhat 7.3 (I should make
dialogic work on redhat9 at least since the threading as been improved).
If this is a real problem for you I could verify the CVS version I am still
using a modified bayonne-1.2.13-OWI.tar.gz (Because there was to much quick
customization requirement for us, I did not follow the Bayonne structure enough
whe implementing change.)
However I could verify the CVS version to see if the 2 problems I have
indentified are fixed.
1 - Short calls and abandon calls handling.
2 - Multiple CRN's support
I would recommend activating globalcall event logging it is always good to know
"Bayonne state" and "Globalcall state" when a problem take place.
Globalcall can behave abnormaly when there is shortcall and abandon calls but
with proper handling no problem.
What I did was to use syslog-ng over the network to keep full logging while
running lots of traffic.
Julien
-----Original Message-----
From: address@hidden on behalf of Mladenovič Zoran
Sent: Wed 1/11/2006 04:22 PM
To: David Sugar
Cc: address@hidden
Subject: [SPAM] - RE: [Bayonne-devel] Bayonne Globalcall TASKFAIL and
TRUNK_CALL_FAILURE - Bayesian Filter detected spam
Cool...I have some "filthy" services running on top of 20050116 release
(odbc...) and with couple of 100k calls per day this is not so rare event.
Beside that it is rock stable.
Zoran
-----Original Message-----
From: address@hidden [mailto:address@hidden On Behalf Of David Sugar
Sent: Wednesday, January 11, 2006 7:24 PM
To: Mladenovič Zoran
Cc: address@hidden
Subject: Re: [Bayonne-devel] Bayonne Globalcall TASKFAIL and
TRUNK_CALL_FAILURE
I suspect this issue is related to what I am thinking of with handling
of call state in gc, especially for short calls, vs how the Bayonne state
machine ends up processing them and what Bayonne believes the call state is. I
may jump all the way back to 1.2.11, and roll forward some changes selectivily
as well as some of my own ideas about having a call cleared flag for this.
Mladenovič Zoran wrote:
>Would this help to solve my problem?
>
>I have mid-range installation with 2 IVR's, 16 E-1, ss7. When there is
short call, or sometimes, when call is abandoned, links are blocked because of
that.
>Extract from ss7 trace:
>
>08:33 23.657 <-- [12] IAM in cs_READY, i=0,
p:010601000702600109010a020100040803901551910000f20a060313131861790801000b0603101416572413020361280603
10141657241d038090a33102005a390431d03fc03f08849383460140110100
>08:33 23.657 <== [12] MT_OFFERED_IND in cs_OFFERED, size=172
>08:33 23.657 <-- [12] REL in cs_OFFERED, i=0, p:0c1202839f00
>08:33 23.657 <== [12] MT_DISCONNECT_IND in cs_DISCONNECTED, size=25
>08:33 23.657 --> [12] REL in cs_DISCONNECTED, p:0c00
>08:33 35.135 <-- [12] REL in cs_DISCONNECTED, i=0, p:0c1202859f00
>08:33 35.136 WARNING: [12] Circuit::ProcessMsg() REL in
>cs_DISCONNECTED, still waiting for application DropCall
>
>As seen above Bayonne is still sending REL message instead of RLC. SS7
guard timer expires and port is blocked.
>
>Zoran Mladenovic
>
>-----Original Message-----
>From: address@hidden
>[mailto:address@hidden
><mailto:address@hidden> ] On
>Behalf Of David Sugar
>Sent: Friday, December 30, 2005 7:04 PM
>To: Julien Chavanton
>Cc: address@hidden
>Subject: Re: [Bayonne-devel] Bayonne Globalcall TASKFAIL and
>TRUNK_CALL_FAILURE
>
>Hmm...one thing I think we should do is add a "cleared" flag to the
Dialogic trunk structure. This would be used to indicate that the current call
had been "cleared" (channel reset after a failure, for example), but that the
driver (bayonne state) is not yet "idle". This could happen if we reset a
channel and issue a hangup signal event to the script engine to handle call
exiting scripts, for example.
>
>Hence, in the example you give, instead of issuing TRUNK_CALL_FAILURE
in response to the TASKFAIL, I think we should instead raise the cleared flag,
and post a TRUNK_STOP_DISCONNECT. The hangup state handler, when it is later
called, would check the cleared flag, and skip hangup if the channel is already
"cleared". The idle state would reset the cleared flag on entry. If a new call
is presented in postEvent while the current call is still clearing, then it
should send back a call reject. This I think is also related to the
simultaneous CRN issue.
>
>What do you think of this idea?
>
>Julien Chavanton wrote:
>
>
>
>>I have made a few modification to globalcall drivers to handle
>>TASKFAIL more efficiently
>>
>>I always reset the port when there is a TASKFAIL because anyway when
>>there is a TASKFAIL the call is lost and most of the time the TASKFAIL
>>is caused by short call
>>
>>Or abandon calls.
>>
>>This is producing positive results.
>>
>>The only difficulty was to keep bayonne state sync with Globalcall
>>state because RESETLINEDEV is not the normal state transition.
>>
>>-------------------------------------------------------------
>>
>>I keep an eye on Bayonne 2 evolution; it would be interesting for me
>>to help with the Globalcall Drivers in Bayonne 2.
>>
>>Something positive about Globalcall is that Intel is moving to HMP
>>host media processing "Voip library optimized for Xeon CPU".
>>
>>And this may be the best performance Voip solution available due to
>>the integration in the Xeon CPU internal instructions.
>>
>>If they succeed Globalcall should be almost compatible with HMP, and
>>bayonne could be HMP enabled without to much work.
>>
>>However HMP is commercial I think it is 10$ a port and it may be too
>>much for a software solution.
>>
>>Julien
>>
>>----------------------------------------------------------------------
>>--
>>
>>*From:*
>>address@hidden
>>[mailto:address@hidden <mailto:address@hidden> .
>>org]
>>*On Behalf Of *Julien Chavanton
>>*Sent:* December 19, 2005 10:09 AM
>>*To:* address@hidden
>>*Cc:* address@hidden
>>*Subject:* [Bayonne-devel] Bayonne Globalcall TASKFAIL and
>>TRUNK_CALL_FAILURE
>>
>>Hi David,
>>
>>I am looking to modify TRUNK_CALL_FAILURE in bayonne globalcall since
>>this is currently handled as a disconnection.
>>
>>It was not that bad but most of the time this is not enough.
>>
>>And we loose port, only when there is a TASKFAIL that is really caused
>>by the Dialogic drivers.
>>
>>The main source of TASKFAIL is abandon calls and short calls the
>>Dialogic drivers are not capable of handling this automatically and
>>this result in TASKFAIL
>>
>>The only problem I think is that the script may be left attached and
>>the next call will fail to attach.
>>
>>Here is what I have in mind:
>>
>>globalcall/driver.cpp
>>
>>case GCEV_TASKFAIL
>>
>>event.id = TRUNK_CALL_FAILURE;
>>
>>trunk->postEvent(&event);
>>
>>gc_ResetLineDev(linedev, EV_ASYNC);
>>
>>break;
>>
>>globalcall/trunk.cpp
>>
>>case TRUNK_CALL_FAILURE:
>>
>>// We need to prepare Bayonne for recovery of next call
>>
>>Trunk::detach();
>>
>>if(join)
>>
>>Part();
>>
>>if(tgi.pid)
>>
>>::kill(tgi.pid, SIGHUP);
>>
>>if(thread)
>>
>>thread->stop();
>>
>>Trunk::flags.dsp = DSP_MODE_INACTIVE;
>>
>>More information about TASKFAIL if any interest:
>>
>>How to Handle GCEV_TASKFAIL Events (However I have made some test and
>>I am not sure about this article complete accuracy)
>>
>>http://resource.intel.com/telecom/support/tnotes/tnbyos/2000/tn061.htm
>><http://resource.intel.com/telecom/support/tnotes/tnbyos/2000/tn061.ht
>>m>
>>
>>You can find information about abandon calls here:
>>
>>http://resource.intel.com/telecom/support/releases/winnt/SR511FP1/onld
>><http://resource.intel.com/telecom/support/releases/winnt/SR511FP1/onl
>>d>
>>oc/htmlfiles/gcprgdw/gc-sta15.htm
>>
>>----------------------------------------------------------------------
>>-
>>-
>>
>>_______________________________________________
>>Bayonne-devel mailing list
>>address@hidden
>>http://lists.gnu.org/mailman/listinfo/bayonne-devel
>><http://lists.gnu.org/mailman/listinfo/bayonne-devel>
>>
>>
>>
>>
>
>
>SAMO NASLOVNIKU! / ONLY FOR THE INTENDED RECIPIENT!
>
>To elektronsko sporočilo in pripete datoteke lahko vsebujejo
informacije zaupne narave in/ali informacije, ki so varovane s pravom in so
namenjene samo posamezniku ali družbi, na katero so naslovljene. Kakršnakoli
neavtorizirana uporaba informacij, prejetih v tem elektronskem sporočilu in
pripetih datotekah, je prepovedana.
>Če elektronsko sporočilo in pripete datoteke niso bile namenjene
prejemniku sporočila, ali če je bilo zaradi napake v naslovniku ali pri prenosu
sporočilo poslano drugam, prosimo, da o tem obvestite pošiljatelja, prejeto
elektronsko sporočilo in pripete datoteke pa brez kakršnekoli predhodne uporabe
zbrišite. Mobitel, d. d., in z njim povezane ali od njega odvisne družbe niso
odgovorne za elektronsko sporočilo in pripete datoteke, če je to spremenjeno,
ponarejeno ali preoblikovano s strani tretje osebe. Elektronsko sporočilo in
pripete datoteke so bile pregledane z antivirusno programsko opremo.
>
>
>This e-mail and its attachments may contain confidential and/or
privileged information and are intended solely for the use of the individual or
entity to whom they are addressed. Any unauthorized use of information received
in this email and its attachments is forbidden. If you are not the intended
recipient, or an addressing or transmission error has misdirected this e-mail,
please notify the sender by replying to this e-mail and delete it without any
prior use. Neither Mobitel, d.d. nor any of its subsidiaries or affiliates
shall be liable for the e-mail and its attachments if altered, changed or
falsified by third parties. This e-mail and its attachments have been scanned
by Anti-Virus Software.
>_______________________________________________
>Bayonne-devel mailing list
>address@hidden
>http://lists.gnu.org/mailman/listinfo/bayonne-devel
>
>
SAMO NASLOVNIKU! / ONLY FOR THE INTENDED RECIPIENT!
To elektronsko sporočilo in pripete datoteke lahko vsebujejo
informacije zaupne narave in/ali informacije, ki so varovane s pravom in so
namenjene samo posamezniku ali družbi, na katero so naslovljene. Kakršnakoli
neavtorizirana uporaba informacij, prejetih v tem elektronskem sporočilu in
pripetih datotekah, je prepovedana.
Če elektronsko sporočilo in pripete datoteke niso bile namenjene
prejemniku sporočila, ali če je bilo zaradi napake v naslovniku ali pri prenosu
sporočilo poslano drugam, prosimo, da o tem obvestite pošiljatelja, prejeto
elektronsko sporočilo in pripete datoteke pa brez kakršnekoli predhodne uporabe
zbrišite. Mobitel, d. d., in z njim povezane ali od njega odvisne družbe niso
odgovorne za elektronsko sporočilo in pripete datoteke, če je to spremenjeno,
ponarejeno ali preoblikovano s strani tretje osebe. Elektronsko sporočilo in
pripete datoteke so bile pregledane z antivirusno programsko opremo.
This e-mail and its attachments may contain confidential and/or
privileged information and are intended solely for the use of the individual or
entity to whom they are addressed. Any unauthorized use of information received
in this email and its attachments is forbidden. If you are not the intended
recipient, or an addressing or transmission error has misdirected this e-mail,
please notify the sender by replying to this e-mail and delete it without any
prior use. Neither Mobitel, d.d. nor any of its subsidiaries or affiliates
shall be liable for the e-mail and its attachments if altered, changed or
falsified by third parties. This e-mail and its attachments have been scanned
by Anti-Virus Software.
_______________________________________________
Bayonne-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/bayonne-devel
SAMO NASLOVNIKU! / ONLY FOR THE INTENDED RECIPIENT!
To elektronsko sporočilo in pripete datoteke lahko vsebujejo informacije zaupne
narave in/ali informacije, ki so varovane s pravom in so namenjene samo
posamezniku ali družbi, na katero so naslovljene. Kakršnakoli neavtorizirana
uporaba informacij, prejetih v tem elektronskem sporočilu in pripetih
datotekah, je prepovedana.
Če elektronsko sporočilo in pripete datoteke niso bile namenjene prejemniku
sporočila, ali če je bilo zaradi napake v naslovniku ali pri prenosu sporočilo
poslano drugam, prosimo, da o tem obvestite pošiljatelja, prejeto elektronsko
sporočilo in pripete datoteke pa brez kakršnekoli predhodne uporabe zbrišite.
Mobitel, d. d., in z njim povezane ali od njega odvisne družbe niso odgovorne
za elektronsko sporočilo in pripete datoteke, če je to spremenjeno, ponarejeno
ali preoblikovano s strani tretje osebe. Elektronsko sporočilo in pripete
datoteke so bile pregledane z antivirusno programsko opremo.
This e-mail and its attachments may contain confidential and/or privileged
information and are intended solely for the use of the individual or entity to
whom they are addressed. Any unauthorized use of information received in this
email and its attachments is forbidden. If you are not the intended recipient,
or an addressing or transmission error has misdirected this e-mail, please
notify the sender by replying to this e-mail and delete it without any prior
use. Neither Mobitel, d.d. nor any of its subsidiaries or affiliates shall be
liable for the e-mail and its attachments if altered, changed or falsified by
third parties. This e-mail and its attachments have been scanned by Anti-Virus
Software.
_______________________________________________
Bayonne-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/bayonne-devel
SAMO NASLOVNIKU! / ONLY FOR THE INTENDED RECIPIENT!
To elektronsko sporočilo in pripete datoteke se sme uporabljati v skladu s
pogoji družbe Mobitel, d. d. Glej: http://disclaimer.mobitel.si/
This e-mail and its attachments are subject to the Mobitel, d. d. disclaimer.
See: http://disclaimer.mobitel.si/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- RE: [Bayonne-devel] Bayonne Globalcall TASKFAIL andTRUNK_CALL_FAILURE,
Mladenovič Zoran <=