Re: Forcing SMSC doesn't work

2007-04-04 Thread Davy Chan
**Subject: RE: Forcing SMSC doesn't work
**Date: Wed, 4 Apr 2007 10:09:57 +1200
**Message-ID: [EMAIL PROTECTED]
**From: David Ritchie [EMAIL PROTECTED]
**To: users@kannel.org
**
**Hello all
**
**I seem to have cracked this problem by making sure all the other SMSCs
**are listed under denied-smsc-id. For example, under SMSC-T1.A should be
**the following configuration parameters:
**
**group = smsc
**smsc = smpp
**smsc-id = SMSC-T1.A
**allowed-prefix = 027;6427;+6427;021;6421;+6421;
**preferred-prefix = 027;6427;+6427
**denied-smsc-id = SMSC-T1.B;SMSC-T1.C;SMSC-T2.A   -- had to include the
**SMSC(s) for the other telco here
**preferred-smsc-id = SMSC-T1.A
**
**Messages have been pushed out on the requested SMSC 100% of the time
**now.
**
**David
**
**-Original Message-
**From: David Ritchie [mailto:[EMAIL PROTECTED] 
**Sent: Tuesday, 3 April 2007 1:48 p.m.
**To: users@kannel.org
**Subject: Forcing SMSC doesn't work
**
**Hi -- when doing an MT push, I want to force the SMSC I want messages to
**go out on, regardless of what the handset's prefix happens to be.
**However, it doesn't seem to work -- messages just go out on a random
**SMSC, even when I include a smsc= value in the MT push URL.
**

I know I'm scratching a scab...

You've just encountered one of the many complexities of Kannel. The
problem you encountered was alluded to in the userguide in
Table 6-1. SMSC Group Variables:

Variable Value   Description
smsc-id (m)  string  An optional name or id for the smsc. Any string is
 acceptable, but semicolon ';' may cause problems,
 so avoid it and any other special non-alphabet
 characters. This 'id' is written into log files
 and can be used to route SMS messages, and to
 specify the used SMS-service. Several SMSCs can
 have the same id. The name is case-insensitive.
 __NOTE THAT IF SMS CENTER CONNECTION HAS AN ASSIGNED
 SMSC ID, IT DOES NOT AUTOMATICALLY MEAN THAT MESSAGES
 WITH IDENTICAL SMSC ID ARE ROUTED TO IT; INSTEAD
 CONFIGURATION VARIABLES denied-smsc-id,
 allowed-smsc-id AND preferred-smsc-id IS USED FOR
 THAT__. If you want to use Delivery Reports, you
 must define this.

Here's something else that might be of interest to you from my
uncomplete additions to the userguide (I really wish I had some
time to finish my additions..):

http://202.181.245.115/kannel-doc/1.3.1/userguide.html#EVAL-DRIVER-BBOX

I.2 Mobile Originated SMS to the Bearerbox

When an MO SMS is forwarded from the Mobile Network Operator, it must
pass through the SMSC driver (e.g. SMPP, CIMD, etc.). The MO SMS is
converted from the SMSC's proprietary format to Kannel's abstract form
(the SMS Msg format). Once the SMS is in the SMS Msg format, it is
forwarded to the bearerbox's SMS received function (bb_smscconn_receive())
for routing to the SMSbox or out another SMSC connection.

Before the bearerbox forwards the MO SMS to its destination, several
processing procedures occur to the SMS:

* The origination address (OA) of the SMS is processed by the
  SMSC-specific unified-prefix.

* The OA is processed by the global unified-prefix declared within
  the group = core section.

* The OA is processed through the whitelist declared within the
  group = core section.

* The OA is processed through the whitelist-regex declared within
  the group = core section.

* The OA is processed through the blacklist declared within the
  group = core section.

* The OA is processed through the blacklist-regex declared within
  the group = core section.

* If the SMS passes all the above, then it will be forwarded to
  it destination for further processing.

See ya...

d.c.



Re: Forcing SMSC doesn't work

2007-04-04 Thread Stuart Beck

Hi David,

If you start connecting to more different carriers or simply having many smsc's, you might want to look at using allowed-smsc-id instead of 
denied-smsc-id.


From the kannel docs

denied-smsc-id  id-list  SMS messages with SMSC ID equal to any of the IDs in 
this list are never routed to this SMSC. Multiple entries are separated with 
semicolons (';')
allowed-smsc-id id-list This list is opposite to previous: only SMS messages 
with SMSC ID in this list are ever routed to this SMSC. Multiple entries are 
separated with semicolons (';')


e.g, using this
  allowed-smsc-id = SMSC-T1.A

instead of
  denied-smsc-id = SMSC-T1.B;SMSC-T1.C;SMSC-T2.A
  preferred-smsc-id = SMSC-T1.A

--
Stuart Beck

David Ritchie wrote:

Hello all

I seem to have cracked this problem by making sure all the other SMSCs
are listed under denied-smsc-id. For example, under SMSC-T1.A should be
the following configuration parameters:

group = smsc
smsc = smpp
smsc-id = SMSC-T1.A
allowed-prefix = 027;6427;+6427;021;6421;+6421;
preferred-prefix = 027;6427;+6427
denied-smsc-id = SMSC-T1.B;SMSC-T1.C;SMSC-T2.A   -- had to include the
SMSC(s) for the other telco here
preferred-smsc-id = SMSC-T1.A

Messages have been pushed out on the requested SMSC 100% of the time
now.

David

-Original Message-
From: David Ritchie [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, 3 April 2007 1:48 p.m.

To: users@kannel.org
Subject: Forcing SMSC doesn't work

Hi -- when doing an MT push, I want to force the SMSC I want messages to
go out on, regardless of what the handset's prefix happens to be.
However, it doesn't seem to work -- messages just go out on a random
SMSC, even when I include a smsc= value in the MT push URL.

We're recently suffering the overhead of the telcos rolling out number
portability, and want to achieve the following:

  -- force a message to be pushed to a specific SMSC, provided the SMSC
is specified in the push URL
  -- set a default SMSC (or group of SMSCs) for a prefix, in case the
SMSC *isn't* specified
  -- and have confidence it'll all work.

I am currently connected to 4 SMSCs, 3 providing connectivity to telco
T1 (call these SMSC-T1.A through SMSC-T1.C), and one connected to telco
T2 (SMSC-T2.A).

Previously if I pushed out to a handset prefixed with 6427, it went
out (randomly) through one of the 3 SMSCs connected to telco T1. The
three smsc groups looked like this:

group = smsc
smsc = smpp
smsc-id = SMSC-T1.A [ this changed between SMSCs ]
allowed-prefix = 027;6427;+6427
denied-smsc-id = SMS-T1.B;SMS-T1.C  [ obviously this was different
between SMSCs ]
preferred-smsc-id = smsc-t1a

And the fourth SMSC (to the other telco) was along these lines:

group = smsc
smsc = smpp
smsc-id = SMSC-T2.A
allowed-prefix = 021;6421;+6421

(Judging from these prefixes, you can probably guess what country I am
in.)

With number portability, messages sent to handsets beginning with 6427
could potentially be forced to be sent out through telco T2; likewise
handsets prefixed with 6421 might have to have messages pushed out
through one of the SMSCs associated with telco T1.

So I tried a test -- knowing a handset number which happened to have
been ported from T1 to T2, but still keeping the 6427 prefix, I made
some changes to the Kannel configuration, namely changing the allowed
prefixes for all the SMSCs to allow all prefixes:

  allowed-prefix = 027;6427;+6427;021;6421;+6421;

I also added a preferred-prefix value in case we tried to push out
messages without specifying the SMSC

  preferred-prefix = 021;6421;+6421

The URL I requested included a value for smsc set to SMSC-T2.A
(url-encoded), and assumed this would forced the message to go out
through SMSC-T2.A; instead the message goes to *any* of the four SMSCs
(since they've all got 6427 as a valid prefix). It appears to be a
random choice between the four.

Your advice is appreciated.

David







AW: Forcing SMSC doesn't work

2007-04-04 Thread Huber, Gottfried

Hi

That's good news!
Because i alwas had the problem of varoius unified-prefixes.

You wrote:
** Before the bearerbox forwards the MO SMS to its destination, several
** processing procedures occur to the SMS:

*** The origination address (OA) of the SMS is processed 
by the
**  SMSC-specific unified-prefix.

*** The OA is processed by the global unified-prefix 
declared within
**  the group = core section.

*** The OA is processed through the whitelist declared 
within the
**  group = core section.

*** The OA is processed through the whitelist-regex 
declared within
**  the group = core section.

*** The OA is processed through the blacklist declared 
within the
**  group = core section.

*** The OA is processed through the blacklist-regex 
declared within
**  the group = core section.

*** If the SMS passes all the above, then it will be 
forwarded to
**  it destination for further processing.


So i tried to define unified-prefix in each smsc-definition:

group= smsc
smsc-id  = ID_SMPP
unified-prefix   = 436,06,00436,000436;3,003,0003;1,001,0001;4,004,0004;
..


group= smsc
smsc-id  = ID_MC35
unified-prefix   = 
004,04,4,+4,0004;003,03,+3,3,0003;001,01,1,+1,0001;00436,06;
..


IT SEEMS TO WORK !  ANY OTHER SUGGESTIONS ?

Thank you 

 

-Ursprüngliche Nachricht-
Von: Davy Chan [mailto:[EMAIL PROTECTED] 
Gesendet: Mittwoch, 04. April 2007 08:56
An: David Ritchie
Cc: users@kannel.org
Betreff: Re: Forcing SMSC doesn't work

**Subject: RE: Forcing SMSC doesn't work
**Date: Wed, 4 Apr 2007 10:09:57 +1200
**Message-ID: [EMAIL PROTECTED]
**From: David Ritchie [EMAIL PROTECTED]
**To: users@kannel.org
**
**Hello all
**
**I seem to have cracked this problem by making sure all the other SMSCs
**are listed under denied-smsc-id. For example, under SMSC-T1.A should be
**the following configuration parameters:
**
**group = smsc
**smsc = smpp
**smsc-id = SMSC-T1.A
**allowed-prefix = 027;6427;+6427;021;6421;+6421;
**preferred-prefix = 027;6427;+6427
**denied-smsc-id = SMSC-T1.B;SMSC-T1.C;SMSC-T2.A   -- had to include the
**SMSC(s) for the other telco here
**preferred-smsc-id = SMSC-T1.A
**
**Messages have been pushed out on the requested SMSC 100% of the time
**now.
**
**David
**
**-Original Message-
**From: David Ritchie [mailto:[EMAIL PROTECTED] 
**Sent: Tuesday, 3 April 2007 1:48 p.m.
**To: users@kannel.org
**Subject: Forcing SMSC doesn't work
**
**Hi -- when doing an MT push, I want to force the SMSC I want messages to
**go out on, regardless of what the handset's prefix happens to be.
**However, it doesn't seem to work -- messages just go out on a random
**SMSC, even when I include a smsc= value in the MT push URL.
**

I know I'm scratching a scab...

You've just encountered one of the many complexities of Kannel. The
problem you encountered was alluded to in the userguide in
Table 6-1. SMSC Group Variables:

Variable Value   Description
smsc-id (m)  string  An optional name or id for the smsc. Any string is
 acceptable, but semicolon ';' may cause problems,
 so avoid it and any other special non-alphabet
 characters. This 'id' is written into log files
 and can be used to route SMS messages, and to
 specify the used SMS-service. Several SMSCs can
 have the same id. The name is case-insensitive.
 __NOTE THAT IF SMS CENTER CONNECTION HAS AN ASSIGNED
 SMSC ID, IT DOES NOT AUTOMATICALLY MEAN THAT MESSAGES
 WITH IDENTICAL SMSC ID ARE ROUTED TO IT; INSTEAD
 CONFIGURATION VARIABLES denied-smsc-id,
 allowed-smsc-id AND preferred-smsc-id IS USED FOR
 THAT__. If you want to use Delivery Reports, you
 must define this.

Here's something else that might be of interest to you from my
uncomplete additions to the userguide (I really wish I had some
time to finish my additions..):

http://202.181.245.115/kannel-doc/1.3.1/userguide.html#EVAL-DRIVER-BBOX

I.2 Mobile Originated SMS to the Bearerbox

When an MO SMS is forwarded from the Mobile Network Operator, it must
pass through the SMSC driver (e.g. SMPP, CIMD, etc.). The MO SMS is
converted from the SMSC's proprietary format to Kannel's abstract form
(the SMS Msg format). Once the SMS is in the SMS Msg format, it is
forwarded to the bearerbox's SMS received function (bb_smscconn_receive())
for routing to the SMSbox or out another SMSC connection.

Before the bearerbox forwards the MO SMS to its destination, several
processing procedures

RE: Forcing SMSC doesn't work

2007-04-03 Thread David Ritchie
Hello all

I seem to have cracked this problem by making sure all the other SMSCs
are listed under denied-smsc-id. For example, under SMSC-T1.A should be
the following configuration parameters:

group = smsc
smsc = smpp
smsc-id = SMSC-T1.A
allowed-prefix = 027;6427;+6427;021;6421;+6421;
preferred-prefix = 027;6427;+6427
denied-smsc-id = SMSC-T1.B;SMSC-T1.C;SMSC-T2.A   -- had to include the
SMSC(s) for the other telco here
preferred-smsc-id = SMSC-T1.A

Messages have been pushed out on the requested SMSC 100% of the time
now.

David

-Original Message-
From: David Ritchie [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, 3 April 2007 1:48 p.m.
To: users@kannel.org
Subject: Forcing SMSC doesn't work

Hi -- when doing an MT push, I want to force the SMSC I want messages to
go out on, regardless of what the handset's prefix happens to be.
However, it doesn't seem to work -- messages just go out on a random
SMSC, even when I include a smsc= value in the MT push URL.

We're recently suffering the overhead of the telcos rolling out number
portability, and want to achieve the following:

  -- force a message to be pushed to a specific SMSC, provided the SMSC
is specified in the push URL
  -- set a default SMSC (or group of SMSCs) for a prefix, in case the
SMSC *isn't* specified
  -- and have confidence it'll all work.

I am currently connected to 4 SMSCs, 3 providing connectivity to telco
T1 (call these SMSC-T1.A through SMSC-T1.C), and one connected to telco
T2 (SMSC-T2.A).

Previously if I pushed out to a handset prefixed with 6427, it went
out (randomly) through one of the 3 SMSCs connected to telco T1. The
three smsc groups looked like this:

group = smsc
smsc = smpp
smsc-id = SMSC-T1.A [ this changed between SMSCs ]
allowed-prefix = 027;6427;+6427
denied-smsc-id = SMS-T1.B;SMS-T1.C  [ obviously this was different
between SMSCs ]
preferred-smsc-id = smsc-t1a

And the fourth SMSC (to the other telco) was along these lines:

group = smsc
smsc = smpp
smsc-id = SMSC-T2.A
allowed-prefix = 021;6421;+6421

(Judging from these prefixes, you can probably guess what country I am
in.)

With number portability, messages sent to handsets beginning with 6427
could potentially be forced to be sent out through telco T2; likewise
handsets prefixed with 6421 might have to have messages pushed out
through one of the SMSCs associated with telco T1.

So I tried a test -- knowing a handset number which happened to have
been ported from T1 to T2, but still keeping the 6427 prefix, I made
some changes to the Kannel configuration, namely changing the allowed
prefixes for all the SMSCs to allow all prefixes:

  allowed-prefix = 027;6427;+6427;021;6421;+6421;

I also added a preferred-prefix value in case we tried to push out
messages without specifying the SMSC

  preferred-prefix = 021;6421;+6421

The URL I requested included a value for smsc set to SMSC-T2.A
(url-encoded), and assumed this would forced the message to go out
through SMSC-T2.A; instead the message goes to *any* of the four SMSCs
(since they've all got 6427 as a valid prefix). It appears to be a
random choice between the four.

Your advice is appreciated.

David




Forcing SMSC doesn't work

2007-04-02 Thread David Ritchie
Hi -- when doing an MT push, I want to force the SMSC I want messages to
go out on, regardless of what the handset's prefix happens to be.
However, it doesn't seem to work -- messages just go out on a random
SMSC, even when I include a smsc= value in the MT push URL.

We're recently suffering the overhead of the telcos rolling out number
portability, and want to achieve the following:

  -- force a message to be pushed to a specific SMSC, provided the SMSC
is specified in the push URL
  -- set a default SMSC (or group of SMSCs) for a prefix, in case the
SMSC *isn't* specified
  -- and have confidence it'll all work.

I am currently connected to 4 SMSCs, 3 providing connectivity to telco
T1 (call these SMSC-T1.A through SMSC-T1.C), and one connected to telco
T2 (SMSC-T2.A).

Previously if I pushed out to a handset prefixed with 6427, it went
out (randomly) through one of the 3 SMSCs connected to telco T1. The
three smsc groups looked like this:

group = smsc
smsc = smpp
smsc-id = SMSC-T1.A [ this changed between SMSCs ]
allowed-prefix = 027;6427;+6427
denied-smsc-id = SMS-T1.B;SMS-T1.C  [ obviously this was different
between SMSCs ]
preferred-smsc-id = smsc-t1a

And the fourth SMSC (to the other telco) was along these lines:

group = smsc
smsc = smpp
smsc-id = SMSC-T2.A
allowed-prefix = 021;6421;+6421

(Judging from these prefixes, you can probably guess what country I am
in.)

With number portability, messages sent to handsets beginning with 6427
could potentially be forced to be sent out through telco T2; likewise
handsets prefixed with 6421 might have to have messages pushed out
through one of the SMSCs associated with telco T1.

So I tried a test -- knowing a handset number which happened to have
been ported from T1 to T2, but still keeping the 6427 prefix, I made
some changes to the Kannel configuration, namely changing the allowed
prefixes for all the SMSCs to allow all prefixes:

  allowed-prefix = 027;6427;+6427;021;6421;+6421;

I also added a preferred-prefix value in case we tried to push out
messages without specifying the SMSC

  preferred-prefix = 021;6421;+6421

The URL I requested included a value for smsc set to SMSC-T2.A
(url-encoded), and assumed this would forced the message to go out
through SMSC-T2.A; instead the message goes to *any* of the four SMSCs
(since they've all got 6427 as a valid prefix). It appears to be a
random choice between the four.

Your advice is appreciated.

David