I just find out that the number of SAM's are depending on from what type of line (analog or isdn) you are making the calls >From an isdn line, all pending digits are sended in one SAM But >From an analog line, every pending digit are sended in a separated SAM BR Ercan -----Original Message----- From: asterisk-ss7-bounces@xxxxxxxxxxxxxxxx [mailto:asterisk-ss7-bounces@xxxxxxxxxxxxxxxx] On Behalf Of Ercan Y?cebas Sent: Donnerstag, 1. M?rz 2007 11:31 To: asterisk-ss7@xxxxxxxxxxxxxxxx Subject: RE: chan_ss7 SAM and overlap signaling I see For example here in switzerland you can have only 24 digits in a number in the network at all, more then this will be not transferred by the incumbent operator. Particulary in my case i need only one SAM, 1 additional information message after IAM, this will be enough, I think. For what else is the t35 timer used in the source code? What kind of effect is to expect if we modify the value of this timer? It's solely in the responsibility of the switch before us, send us the information, that sending digits is finished. On the other side, we have to exactly understand, what we will expect from the other switch. You are saying, that it will terminate the number with a 0xF 'digit', which is the pvt->iam.dni.complete condition. What do you mean exactly with 0xF 'digit' what is this correctly, what do you mean, how we can capture it, in order to know, that digits are collected already. and does this object became a value added, can we add maybe a debug option for it, to see the changes of this value during SAM recieptions pvt->iam.dni.complete BR Ercan -----Original Message----- From: asterisk-ss7-bounces@xxxxxxxxxxxxxxxx [mailto:asterisk-ss7-bounces@xxxxxxxxxxxxxxxx] On Behalf Of Kristian Nielsen Sent: Donnerstag, 1. M?rz 2007 08:28 To: asterisk-ss7@xxxxxxxxxxxxxxxx Subject: Re: chan_ss7 SAM and overlap signaling Ercan Y?cebas <ercan@xxxxxxxxxxxxxx> writes: > It looks like that chan_ss7 is checking whether the incoming number > matches any extension, just before it gets the whole number? > Therefore chan_ss7 doesn?t expect other SAM's, because there is not a > matching extension > After that it never goes to second choise, where it starts the timer, > RIGHT? > > My ; > enable_st is yes > > > static void check_iam_sam(struct ss7_chan* pvt) > { > int complete = (pvt->link->linkset->enable_st && > pvt->iam.dni.complete) || > ast_exists_extension(pvt->owner, pvt->context, pvt->iam.dni.num, 1, > pvt->iam.rni.num); > if (complete) { > pvt->iam.dni.complete = 1; > ast_log(LOG_DEBUG, "Setting iam.dni.complete\n"); > handle_complete_address(pvt); > } else { > if (ast_canmatch_extension(pvt->owner, pvt->context, > pvt->iam.dni.num, 1, pvt->iam.rni.num) != 0) { > ast_log(LOG_DEBUG, "Processing addr %s, incomplete, starting > T35\n", pvt->iam.dni.num); > t35_start(pvt); > } > else { > ast_log(LOG_DEBUG, "Unable to match extension, context: %s, dni: > %s, rni: %s\n", pvt->context, pvt->iam.dni.num, pvt->iam.rni.num); > initiate_release_circuit(pvt, AST_CAUSE_UNALLOCATED); > } > } > } First, you need to determine who has the responsibility of determining how many digits are needed for a complete address. If it is a switch before you, then it will terminate the number with a 0xF 'digit', which is the pvt->iam.dni.complete condition I think. If not, then _you_ need to determine if the address is complete, as the further path into Asterisk does not support overlapped dialing. This of course can get a bit complex, for example when people set up a local gateway for cheap international calls, the number of digits required can require detailed knowledge about the dial plan in individual contries. I think some people try to handle that instead with timeouts (there is some timer for this I believe), but it is not ideal. I believe the above code tries to determine whether the address is complete by examining the Asterisk dial plan and seeing if there is a match. You probably have overlapping extensions there, causing an early match. Basically, to support overlapped dialing, you clearly cannot have overlapping numbers like '220' and 220123', as then there is no way of knowing, after user dials '220', whether more digits are supposed to arrive. - Kristian. -- Kristian Nielsen, Software Developer MySQL AB, Hvidovre, Denmark, www.mysql.com Office: +46 18 174 400 ext. 4525 Are you MySQL certified? www.mysql.com/certification _______________________________________________ --Bandwidth and Colocation provided by Easynews.com -- asterisk-ss7 mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-ss7 _______________________________________________ --Bandwidth and Colocation provided by Easynews.com -- asterisk-ss7 mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-ss7