Re: [PATCH] SMSC cluster
Alexander Malysh <[email protected]> Tue, 9 Jul 2019 09:51:16 +0200
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Message-ID | <[email protected]> |
--Apple-Mail=_30D449FA-EE9E-4997-B390-8F9D047D3F7E Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hi, just fixed CIMD2 DLR handling to use smsc-id instead of name. Thanks, Alex > Am 28.06.2019 um 10:18 schrieb Lamasuta, Franck, Vodafone Automotive = <[email protected]>: >=20 > Hi, > =20 > I think it is not flexible enough to rely on smsc-id to manage the = pending DLRs. > We use already the status endpoint provided by Kannel to monitor the = binds and trigger alerts. > But we want to know which path (bind) a MO-SMS took and store this in = our database. Then we can use this info to draw charts with the = throughput of each bind on different time periods and to detect issues. > =20 > Another solution to keep this flexibility would be to add an optional = config parameter (something like pending-dlr-id). If it is not defined = then smsc-id would be used as a fallback (to be compatible with current = behavior). > What do you think? > =20 > Regards, > Franck > =20 > =20 > From: Alexander Malysh <[email protected]> On Behalf Of Alexander = Malysh > Sent: vendredi 28 juin 2019 09:43 > To: Alejandro Guerrieri <[email protected]> > Cc: Lamasuta, Franck, Vodafone Automotive = <[email protected]>; [email protected] > Subject: Re: [PATCH] SMSC cluster > =20 > Hi, > =20 > I=E2=80=99m agree with Alejandro. For SMPP we don=E2=80=99t need such = patch but for the CIMD2 we have to fix it to conn->id if it=E2=80=99s = not used > there. > =20 > Thanks, > Alex > =20 >=20 >=20 > Am 26.06.2019 um 15:13 schrieb Alejandro Guerrieri = <[email protected] <mailto:[email protected]>>: > =20 > Franck, > =20 > Thank you for clarifying. > =20 > Regarding SMPP, you are using your application to indirectly diagnose = problem with your binds. Kannel has a status endpoint that you can use = to monitor the bind status directly instead of "bubbling-up" the problem = to your application layer. >=20 > You have a point on CIMD2, though iMHO that is a "bug" in Kannel: all = connectors should use the same naming strategy. I don't know how likely = is the scenario of having multi-protocol binds sharing SMS traffic, but = in Kannel's current state it is the only case where this patch would = make a difference. In my opinion, the right answer is to make the naming = convention consistent so DLR's can be resolved across different = protocols. > =20 > Regards, > =20 > Alejandro > =20 > On Wed, Jun 26, 2019 at 4:11 AM Lamasuta, Franck, Vodafone Automotive = <[email protected] <mailto:[email protected]>> = wrote: > Hi Alejandro, > =20 > I know we could use identical smsc-ids but=E2=80=A6 > =20 > 1) It does not work for CIMD2 because dlr_add() and dlr_find() are = called with conn->name which is built with the IP and port. > =20 > 2) It could work with SMPP (because dlr_add() and dlr_find() are = called with conn->id) but=E2=80=A6 > When a MO-SMS is received, the smsc-id is assigned to the message and = forwarded to our back-end by smsbox. > We use this id to monitor the incoming traffic on each bind and detect = issues (e.g. when the MO-SMS rate is below a threshold). > With identical smsc-ids, we could have an issue on one of the binds = (with the bind still up) and not be able to detect it. Therefore we do = prefer to have different smsc-ids. >=20 > The patch only uses smsc-username which is (AFAIK) always the same = with multiple binds. > It is more flexible in my opinion. > =20 > Regards, > Franck > =20 > =20 > From: Alejandro Guerrieri <[email protected] = <mailto:[email protected]>>=20 > Sent: mercredi 26 juin 2019 00:27 > To: Lamasuta, Franck, Vodafone Automotive = <[email protected] <mailto:[email protected]>> > Cc: [email protected] <mailto:[email protected]> > Subject: Re: [PATCH] SMSC cluster > =20 > I'm curious why do you even need this patch? You could use the same = smsc-id on both and assign different smsc-admin-id values to manage each = bind separately (e.g. start/stop). If by any reason you'd want to send = over a specific bind, you could use different allowed-smsc-id's as well. > =20 > Regards, > =20 > Alejandro > =20 > On Tue, Jun 25, 2019 at 12:20 PM Lamasuta, Franck, Vodafone Automotive = <[email protected] <mailto:[email protected]>> = wrote: > Hi list, > =20 > We have implemented many patches along the way and I can finally take = some time to submit them. > They are running on our staging and production platforms since years = for the oldest ones. > I will submit them one by one in the next days/weeks. > Let=E2=80=99s start with the first one=E2=80=A6 J > =20 > This patch allows Kannel to retrieve a pending DLRs in its database = when 2 (or more) SMSC binds are established (with different IPs and/or = ports). > It is required when a MT-SMS is submitted to SMSC A and its DLR is = sent back by SMSC B. > Done for CIMD2 and SMPP. > =20 > Example of configuration where the patch is required: > =20 > # > # Primary server > # > group =3D smsc > smsc =3D cimd2 > smsc-id =3D SMSC-A > host =3D 123.1.2.3 > port =3D 6001 > smsc-username =3D user > smsc-password =3D xxxxxxxx > allowed-smsc-id =3D id1 > preferred-smsc-id =3D id1 > =20 > # > # Secondary server > # > group =3D smsc > smsc =3D cimd2 > smsc-id =3D SMSC-B > host =3D 123.1.2.3 > port =3D 6002 > smsc-username =3D user > smsc-password =3D xxxxxxxx > allowed-smsc-id =3D id1 > =20 > =20 > Regards, > Franck > =20 --Apple-Mail=_30D449FA-EE9E-4997-B390-8F9D047D3F7E Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 <html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; = charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; = -webkit-nbsp-mode: space; line-break: after-white-space;" = class=3D"">Hi,<div class=3D""><br class=3D""></div><div class=3D"">just = fixed CIMD2 DLR handling to use smsc-id instead of name.</div><div = class=3D""><br class=3D""></div><div class=3D"">Thanks,</div><div = class=3D"">Alex<br class=3D""><div><br class=3D""><blockquote = type=3D"cite" class=3D""><div class=3D"">Am 28.06.2019 um 10:18 schrieb = Lamasuta, Franck, Vodafone Automotive <<a = href=3D"mailto:[email protected]" = class=3D"">[email protected]</a>>:</div><br = class=3D"Apple-interchange-newline"><div class=3D""><div = class=3D"WordSection1" style=3D"page: WordSection1; caret-color: rgb(0, = 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; = font-variant-caps: normal; font-weight: normal; letter-spacing: normal; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; = text-decoration: none;"><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, = sans-serif; color: rgb(31, 73, 125);" class=3D"">Hi,<o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, = sans-serif; color: rgb(31, 73, 125);" class=3D""><o:p = class=3D""> </o:p></span></div><div style=3D"margin: 0cm 0cm = 0.0001pt; font-size: 12pt; font-family: "Times New Roman", = serif;" class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, = sans-serif; color: rgb(31, 73, 125);" class=3D"">I think it is not = flexible enough to rely on smsc-id to manage the pending DLRs.<o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, = sans-serif; color: rgb(31, 73, 125);" class=3D"">We use already the = status endpoint provided by Kannel to monitor the binds and trigger = alerts.<o:p class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm = 0.0001pt; font-size: 12pt; font-family: "Times New Roman", = serif;" class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, = sans-serif; color: rgb(31, 73, 125);" class=3D"">But we want to know = which path (bind) a MO-SMS took and store this in our database. Then we = can use this info to draw charts with the throughput of each bind on = different time periods and to detect issues.<o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, = sans-serif; color: rgb(31, 73, 125);" class=3D""><o:p = class=3D""> </o:p></span></div><div style=3D"margin: 0cm 0cm = 0.0001pt; font-size: 12pt; font-family: "Times New Roman", = serif;" class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, = sans-serif; color: rgb(31, 73, 125);" class=3D"">Another solution to = keep this flexibility would be to add an optional config parameter = (something like pending-dlr-id). If it is not defined then smsc-id would = be used as a fallback (to be compatible with current behavior).<o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, = sans-serif; color: rgb(31, 73, 125);" class=3D"">What do you think?<o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, = sans-serif; color: rgb(31, 73, 125);" class=3D""><o:p = class=3D""> </o:p></span></div><div style=3D"margin: 0cm 0cm = 0.0001pt; font-size: 12pt; font-family: "Times New Roman", = serif;" class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, = sans-serif; color: rgb(31, 73, 125);" class=3D"">Regards,<o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, = sans-serif; color: rgb(31, 73, 125);" class=3D"">Franck<o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><o:p class=3D""> </o:p></div><div style=3D"margin: 0cm = 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", = serif;" class=3D""><o:p class=3D""> </o:p></div><div class=3D""><div = style=3D"border-style: solid none none; border-top-width: 1pt; = border-top-color: rgb(225, 225, 225); padding: 3pt 0cm 0cm;" = class=3D""><div style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; = font-family: "Times New Roman", serif;" class=3D""><b = class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, = sans-serif;" class=3D"">From:</span></b><span style=3D"font-size: 11pt; = font-family: Calibri, sans-serif;" class=3D""><span = class=3D"Apple-converted-space"> </span>Alexander Malysh <<a = href=3D"mailto:[email protected]" = class=3D"">[email protected]</a>><span = class=3D"Apple-converted-space"> </span><b class=3D"">On Behalf = Of<span class=3D"Apple-converted-space"> </span></b>Alexander = Malysh<br class=3D""><b class=3D"">Sent:</b><span = class=3D"Apple-converted-space"> </span>vendredi 28 juin 2019 = 09:43<br class=3D""><b class=3D"">To:</b><span = class=3D"Apple-converted-space"> </span>Alejandro Guerrieri <<a = href=3D"mailto:[email protected]" = class=3D"">[email protected]</a>><br class=3D""><b = class=3D"">Cc:</b><span = class=3D"Apple-converted-space"> </span>Lamasuta, Franck, Vodafone = Automotive <<a href=3D"mailto:[email protected]" = class=3D"">[email protected]</a>>; <a = href=3D"mailto:[email protected]" class=3D"">[email protected]</a><br = class=3D""><b class=3D"">Subject:</b><span = class=3D"Apple-converted-space"> </span>Re: [PATCH] SMSC = cluster<o:p class=3D""></o:p></span></div></div></div><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><o:p = class=3D""> </o:p></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D"">Hi,<o:p class=3D""></o:p></div><div class=3D""><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><o:p = class=3D""> </o:p></div></div><div class=3D""><div style=3D"margin: = 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New = Roman", serif;" class=3D"">I=E2=80=99m agree with Alejandro. For = SMPP we don=E2=80=99t need such patch but for the CIMD2 we have to fix = it to conn->id if it=E2=80=99s not used<o:p = class=3D""></o:p></div></div><div class=3D""><div style=3D"margin: 0cm = 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", = serif;" class=3D"">there.<o:p class=3D""></o:p></div></div><div = class=3D""><div style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; = font-family: "Times New Roman", serif;" class=3D""><o:p = class=3D""> </o:p></div></div><div class=3D""><div style=3D"margin: = 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New = Roman", serif;" class=3D"">Thanks,<o:p = class=3D""></o:p></div></div><div class=3D""><div style=3D"margin: 0cm = 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", = serif;" class=3D"">Alex<o:p class=3D""></o:p></div></div><div = class=3D""><div style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; = font-family: "Times New Roman", serif;" class=3D""><o:p = class=3D""> </o:p></div></div><div class=3D""><div class=3D""><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><br class=3D""><br = class=3D""><o:p class=3D""></o:p></div><blockquote style=3D"margin-top: = 5pt; margin-bottom: 5pt;" class=3D""><div class=3D""><div style=3D"margin:= 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New = Roman", serif;" class=3D"">Am 26.06.2019 um 15:13 schrieb Alejandro = Guerrieri <<a href=3D"mailto:[email protected]" = style=3D"color: purple; text-decoration: underline;" = class=3D"">[email protected]</a>>:<o:p = class=3D""></o:p></div></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><o:p class=3D""> </o:p></div><div class=3D""><div = class=3D""><div style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; = font-family: "Times New Roman", serif;" class=3D""><span = style=3D"font-size: 9pt; font-family: Helvetica, sans-serif;" = class=3D"">Franck,<o:p class=3D""></o:p></span></div><div class=3D""><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: Helvetica, sans-serif;" class=3D""><o:p = class=3D""> </o:p></span></div></div><div class=3D""><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: Helvetica, sans-serif;" class=3D"">Thank you for = clarifying.<o:p class=3D""></o:p></span></div></div><div class=3D""><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: Helvetica, sans-serif;" class=3D""><o:p = class=3D""> </o:p></span></div></div><div class=3D""><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: Helvetica, sans-serif;" class=3D"">Regarding SMPP, you = are using your application to indirectly diagnose problem with your = binds. Kannel has a status endpoint that you can use to monitor the bind = status directly instead of "bubbling-up" the problem to your application = layer.<o:p class=3D""></o:p></span></div></div><div class=3D""><div = class=3D""><div style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; = font-family: "Times New Roman", serif;" class=3D""><span = style=3D"font-size: 9pt; font-family: Helvetica, sans-serif;" = class=3D""><br class=3D"">You have a point on CIMD2, though iMHO that is = a "bug" in Kannel: all connectors should use the same naming strategy. I = don't know how likely is the scenario of having multi-protocol binds = sharing SMS traffic, but in Kannel's current state it is the only case = where this patch would make a difference. In my opinion, the right = answer is to make the naming convention consistent so DLR's can be = resolved across different protocols.<o:p = class=3D""></o:p></span></div></div><div class=3D""><div style=3D"margin: = 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New = Roman", serif;" class=3D""><span style=3D"font-size: 9pt; = font-family: Helvetica, sans-serif;" class=3D""><o:p = class=3D""> </o:p></span></div></div></div><div class=3D""><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: Helvetica, sans-serif;" class=3D"">Regards,<o:p = class=3D""></o:p></span></div></div><div class=3D""><div style=3D"margin: = 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New = Roman", serif;" class=3D""><span style=3D"font-size: 9pt; = font-family: Helvetica, sans-serif;" class=3D""><o:p = class=3D""> </o:p></span></div></div><div class=3D""><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: Helvetica, sans-serif;" class=3D"">Alejandro<o:p = class=3D""></o:p></span></div></div></div><div style=3D"margin: 0cm 0cm = 0.0001pt; font-size: 12pt; font-family: "Times New Roman", = serif;" class=3D""><o:p class=3D""> </o:p></div><div class=3D""><div = class=3D""><div style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; = font-family: "Times New Roman", serif;" class=3D""><span = style=3D"font-size: 9pt; font-family: Helvetica, sans-serif;" = class=3D"">On Wed, Jun 26, 2019 at 4:11 AM Lamasuta, Franck, Vodafone = Automotive <<a href=3D"mailto:[email protected]" = style=3D"color: purple; text-decoration: underline;" = class=3D"">[email protected]</a>> wrote:<o:p = class=3D""></o:p></span></div></div><blockquote style=3D"border-style: = none none none solid; border-left-width: 1pt; border-left-color: = rgb(204, 204, 204); padding: 0cm 0cm 0cm 6pt; margin-left: 4.8pt; = margin-right: 0cm;" class=3D""><div class=3D""><div class=3D""><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" = class=3D"">Hi Alejandro,</span><span style=3D"font-size: 9pt; = font-family: Helvetica, sans-serif;" class=3D""><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, = sans-serif; color: rgb(31, 73, 125);" class=3D""> </span><span = style=3D"font-size: 9pt; font-family: Helvetica, sans-serif;" = class=3D""><o:p class=3D""></o:p></span></div><div style=3D"margin: 0cm = 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", = serif;" class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, = sans-serif; color: rgb(31, 73, 125);" class=3D"">I know we could use = identical smsc-ids but=E2=80=A6</span><span style=3D"font-size: 9pt; = font-family: Helvetica, sans-serif;" class=3D""><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, = sans-serif; color: rgb(31, 73, 125);" class=3D""> </span><span = style=3D"font-size: 9pt; font-family: Helvetica, sans-serif;" = class=3D""><o:p class=3D""></o:p></span></div><div style=3D"margin: 0cm = 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", = serif;" class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, = sans-serif; color: rgb(31, 73, 125);" class=3D"">1) It does not work for = CIMD2 because dlr_add() and dlr_find() are called with conn->name = which is built with the IP and port.</span><span style=3D"font-size: = 9pt; font-family: Helvetica, sans-serif;" class=3D""><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, = sans-serif; color: rgb(31, 73, 125);" class=3D""> </span><span = style=3D"font-size: 9pt; font-family: Helvetica, sans-serif;" = class=3D""><o:p class=3D""></o:p></span></div><div style=3D"margin: 0cm = 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", = serif;" class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, = sans-serif; color: rgb(31, 73, 125);" class=3D"">2) It could work with = SMPP (because dlr_add() and dlr_find() are called with conn->id) = but=E2=80=A6<br class=3D"">When a MO-SMS is received, the smsc-id is = assigned to the message and forwarded to our back-end by smsbox.<br = class=3D"">We use this id to monitor the incoming traffic on each bind = and detect issues (e.g. when the MO-SMS rate is below a = threshold).</span><span style=3D"font-size: 9pt; font-family: Helvetica, = sans-serif;" class=3D""><o:p class=3D""></o:p></span></div><p = class=3D"MsoNormal" style=3D"margin: 0cm 0cm 12pt; font-size: 12pt; = font-family: "Times New Roman", serif;"><span = style=3D"font-size: 11pt; font-family: Calibri, sans-serif; color: = rgb(31, 73, 125);" class=3D"">With identical smsc-ids, we could have an = issue on one of the binds (with the bind still up) and not be able to = detect it. Therefore we do prefer to have different = smsc-ids.</span><span style=3D"font-size: 9pt; font-family: Helvetica, = sans-serif;" class=3D""><o:p class=3D""></o:p></span></p><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" = class=3D"">The patch only uses smsc-username which is (AFAIK) always the = same with multiple binds.</span><span style=3D"font-size: 9pt; = font-family: Helvetica, sans-serif;" class=3D""><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, = sans-serif; color: rgb(31, 73, 125);" class=3D"">It is more flexible in = my opinion.</span><span style=3D"font-size: 9pt; font-family: Helvetica, = sans-serif;" class=3D""><o:p class=3D""></o:p></span></div><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" = class=3D""> </span><span style=3D"font-size: 9pt; font-family: = Helvetica, sans-serif;" class=3D""><o:p class=3D""></o:p></span></div><div= style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" = class=3D"">Regards,</span><span style=3D"font-size: 9pt; font-family: = Helvetica, sans-serif;" class=3D""><o:p class=3D""></o:p></span></div><div= style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" = class=3D"">Franck</span><span style=3D"font-size: 9pt; font-family: = Helvetica, sans-serif;" class=3D""><o:p class=3D""></o:p></span></div><div= style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" = class=3D""> </span><span style=3D"font-size: 9pt; font-family: = Helvetica, sans-serif;" class=3D""><o:p class=3D""></o:p></span></div><div= style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: Helvetica, sans-serif;" class=3D""> <o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><b class=3D""><span style=3D"font-size: 11pt; font-family: = Calibri, sans-serif;" class=3D"">From:</span></b><span = class=3D"apple-converted-space"><span style=3D"font-size: 11pt; = font-family: Calibri, sans-serif;" class=3D""> </span></span><span = style=3D"font-size: 11pt; font-family: Calibri, sans-serif;" = class=3D"">Alejandro Guerrieri <<a = href=3D"mailto:[email protected]" target=3D"_blank" = style=3D"color: purple; text-decoration: underline;" = class=3D"">[email protected]</a>><span = class=3D"apple-converted-space"> </span><br class=3D""><b = class=3D"">Sent:</b><span = class=3D"apple-converted-space"> </span>mercredi 26 juin 2019 = 00:27<br class=3D""><b class=3D"">To:</b><span = class=3D"apple-converted-space"> </span>Lamasuta, Franck, Vodafone = Automotive <<a href=3D"mailto:[email protected]" = target=3D"_blank" style=3D"color: purple; text-decoration: underline;" = class=3D"">[email protected]</a>><br class=3D""><b = class=3D"">Cc:</b><span class=3D"apple-converted-space"> </span><a = href=3D"mailto:[email protected]" target=3D"_blank" style=3D"color: = purple; text-decoration: underline;" class=3D"">[email protected]</a><br = class=3D""><b class=3D"">Subject:</b><span = class=3D"apple-converted-space"> </span>Re: [PATCH] SMSC = cluster</span><span style=3D"font-size: 9pt; font-family: Helvetica, = sans-serif;" class=3D""><o:p class=3D""></o:p></span></div><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: Helvetica, sans-serif;" class=3D""> <o:p = class=3D""></o:p></span></div><div class=3D""><div style=3D"margin: 0cm = 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", = serif;" class=3D""><span style=3D"font-size: 9pt; font-family: = Helvetica, sans-serif;" class=3D"">I'm curious why do you even need this = patch? You could use the same smsc-id on both and assign different = smsc-admin-id values to manage each bind separately (e.g. start/stop). = If by any reason you'd want to send over a specific bind, you could use = different allowed-smsc-id's as well.<o:p = class=3D""></o:p></span></div><div class=3D""><div class=3D""><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: Helvetica, sans-serif;" class=3D""> <o:p = class=3D""></o:p></span></div></div><div class=3D""><div style=3D"margin: = 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New = Roman", serif;" class=3D""><span style=3D"font-size: 9pt; = font-family: Helvetica, sans-serif;" class=3D"">Regards,<o:p = class=3D""></o:p></span></div></div><div class=3D""><div style=3D"margin: = 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New = Roman", serif;" class=3D""><span style=3D"font-size: 9pt; = font-family: Helvetica, sans-serif;" class=3D""> <o:p = class=3D""></o:p></span></div></div><div class=3D""><div style=3D"margin: = 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New = Roman", serif;" class=3D""><span style=3D"font-size: 9pt; = font-family: Helvetica, sans-serif;" class=3D"">Alejandro<o:p = class=3D""></o:p></span></div></div></div></div><div style=3D"margin: = 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New = Roman", serif;" class=3D""><span style=3D"font-size: 9pt; = font-family: Helvetica, sans-serif;" class=3D""> <o:p = class=3D""></o:p></span></div><div class=3D""><div class=3D""><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: Helvetica, sans-serif;" class=3D"">On Tue, Jun 25, = 2019 at 12:20 PM Lamasuta, Franck, Vodafone Automotive <<a = href=3D"mailto:[email protected]" target=3D"_blank" = style=3D"color: purple; text-decoration: underline;" = class=3D"">[email protected]</a>> wrote:<o:p = class=3D""></o:p></span></div></div><blockquote style=3D"border-style: = none none none solid; border-left-width: 1pt; border-left-color: = rgb(204, 204, 204); padding: 0cm 0cm 0cm 6pt; margin: 5pt 0cm 5pt = 4.8pt;" class=3D""><div class=3D""><div class=3D""><div style=3D"margin: = 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New = Roman", serif;" class=3D""><span lang=3D"FR" style=3D"font-size: = 9pt; font-family: Helvetica, sans-serif;" class=3D"">Hi = list,</span><span style=3D"font-size: 9pt; font-family: Helvetica, = sans-serif;" class=3D""><o:p class=3D""></o:p></span></div><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span lang=3D"FR" = style=3D"font-size: 9pt; font-family: Helvetica, sans-serif;" = class=3D""> </span><span style=3D"font-size: 9pt; font-family: = Helvetica, sans-serif;" class=3D""><o:p class=3D""></o:p></span></div><div= style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: Helvetica, sans-serif;" class=3D"">We have implemented = many patches along the way and I can finally take some time to submit = them.<br class=3D"">They are running on our staging and production = platforms since years for the oldest ones.<o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 9pt; font-family: Helvetica, = sans-serif;" class=3D"">I will submit them one by one in the next = days/weeks.<o:p class=3D""></o:p></span></div><div style=3D"margin: 0cm = 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", = serif;" class=3D""><span style=3D"font-size: 9pt; font-family: = Helvetica, sans-serif;" class=3D"">Let=E2=80=99s start with the first = one=E2=80=A6 <span = class=3D"apple-converted-space"> </span></span><span = style=3D"font-size: 9pt; font-family: Wingdings;" class=3D"">J</span><span= style=3D"font-size: 9pt; font-family: Helvetica, sans-serif;" = class=3D""><o:p class=3D""></o:p></span></div><div style=3D"margin: 0cm = 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", = serif;" class=3D""><span style=3D"font-size: 9pt; font-family: = Helvetica, sans-serif;" class=3D""> <o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 9pt; font-family: Helvetica, = sans-serif;" class=3D"">This patch allows Kannel to retrieve a pending = DLRs in its database when 2 (or more) SMSC binds are established (with = different IPs and/or ports).<o:p class=3D""></o:p></span></div><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: Helvetica, sans-serif;" class=3D"">It is required when = a MT-SMS is submitted to SMSC A and its DLR is sent back by SMSC B.<o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 9pt; font-family: Helvetica, = sans-serif;" class=3D"">Done for CIMD2 and SMPP.<o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 9pt; font-family: Helvetica, = sans-serif;" class=3D""> <o:p class=3D""></o:p></span></div><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: Helvetica, sans-serif;" class=3D"">Example of = configuration where the patch is required:<o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 9pt; font-family: Helvetica, = sans-serif;" class=3D""> <o:p class=3D""></o:p></span></div><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: "Courier New"; color: rgb(68, 114, 196);" = class=3D"">#</span><span style=3D"font-size: 9pt; font-family: = Helvetica, sans-serif;" class=3D""><o:p class=3D""></o:p></span></div><div= style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: "Courier New"; color: rgb(68, 114, 196);" = class=3D""># Primary server</span><span style=3D"font-size: 9pt; = font-family: Helvetica, sans-serif;" class=3D""><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 9pt; font-family: "Courier = New"; color: rgb(68, 114, 196);" class=3D"">#</span><span = style=3D"font-size: 9pt; font-family: Helvetica, sans-serif;" = class=3D""><o:p class=3D""></o:p></span></div><div style=3D"margin: 0cm = 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", = serif;" class=3D""><span style=3D"font-size: 9pt; font-family: = "Courier New"; color: rgb(68, 114, 196);" class=3D"">group =3D = smsc</span><span style=3D"font-size: 9pt; font-family: Helvetica, = sans-serif;" class=3D""><o:p class=3D""></o:p></span></div><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: "Courier New"; color: rgb(68, 114, 196);" = class=3D"">smsc =3D cimd2</span><span style=3D"font-size: 9pt; = font-family: Helvetica, sans-serif;" class=3D""><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 9pt; font-family: "Courier = New"; color: rgb(68, 114, 196);" class=3D"">smsc-id =3D = SMSC-A</span><span style=3D"font-size: 9pt; font-family: Helvetica, = sans-serif;" class=3D""><o:p class=3D""></o:p></span></div><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: "Courier New"; color: rgb(68, 114, 196);" = class=3D"">host =3D 123.1.2.3</span><span style=3D"font-size: 9pt; = font-family: Helvetica, sans-serif;" class=3D""><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 9pt; font-family: "Courier = New"; color: rgb(68, 114, 196);" class=3D"">port =3D = 6001</span><span style=3D"font-size: 9pt; font-family: Helvetica, = sans-serif;" class=3D""><o:p class=3D""></o:p></span></div><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: "Courier New"; color: rgb(68, 114, 196);" = class=3D"">smsc-username =3D user</span><span style=3D"font-size: 9pt; = font-family: Helvetica, sans-serif;" class=3D""><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 9pt; font-family: "Courier = New"; color: rgb(68, 114, 196);" class=3D"">smsc-password =3D = xxxxxxxx</span><span style=3D"font-size: 9pt; font-family: Helvetica, = sans-serif;" class=3D""><o:p class=3D""></o:p></span></div><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: "Courier New"; color: rgb(68, 114, 196);" = class=3D"">allowed-smsc-id =3D id1</span><span style=3D"font-size: 9pt; = font-family: Helvetica, sans-serif;" class=3D""><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 9pt; font-family: "Courier = New"; color: rgb(68, 114, 196);" class=3D"">preferred-smsc-id =3D = id1</span><span style=3D"font-size: 9pt; font-family: Helvetica, = sans-serif;" class=3D""><o:p class=3D""></o:p></span></div><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: "Courier New"; color: rgb(68, 114, 196);" = class=3D""> </span><span style=3D"font-size: 9pt; font-family: = Helvetica, sans-serif;" class=3D""><o:p class=3D""></o:p></span></div><div= style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: "Courier New"; color: rgb(68, 114, 196);" = class=3D"">#</span><span style=3D"font-size: 9pt; font-family: = Helvetica, sans-serif;" class=3D""><o:p class=3D""></o:p></span></div><div= style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: "Courier New"; color: rgb(68, 114, 196);" = class=3D""># Secondary server</span><span style=3D"font-size: 9pt; = font-family: Helvetica, sans-serif;" class=3D""><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 9pt; font-family: "Courier = New"; color: rgb(68, 114, 196);" class=3D"">#</span><span = style=3D"font-size: 9pt; font-family: Helvetica, sans-serif;" = class=3D""><o:p class=3D""></o:p></span></div><div style=3D"margin: 0cm = 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", = serif;" class=3D""><span style=3D"font-size: 9pt; font-family: = "Courier New"; color: rgb(68, 114, 196);" class=3D"">group =3D = smsc</span><span style=3D"font-size: 9pt; font-family: Helvetica, = sans-serif;" class=3D""><o:p class=3D""></o:p></span></div><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: "Courier New"; color: rgb(68, 114, 196);" = class=3D"">smsc =3D cimd2</span><span style=3D"font-size: 9pt; = font-family: Helvetica, sans-serif;" class=3D""><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 9pt; font-family: "Courier = New"; color: rgb(68, 114, 196);" class=3D"">smsc-id =3D = SMSC-B</span><span style=3D"font-size: 9pt; font-family: Helvetica, = sans-serif;" class=3D""><o:p class=3D""></o:p></span></div><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: "Courier New"; color: rgb(68, 114, 196);" = class=3D"">host =3D 123.1.2.3</span><span style=3D"font-size: 9pt; = font-family: Helvetica, sans-serif;" class=3D""><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 9pt; font-family: "Courier = New"; color: rgb(68, 114, 196);" class=3D"">port =3D = 6002</span><span style=3D"font-size: 9pt; font-family: Helvetica, = sans-serif;" class=3D""><o:p class=3D""></o:p></span></div><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: "Courier New"; color: rgb(68, 114, 196);" = class=3D"">smsc-username =3D user</span><span style=3D"font-size: 9pt; = font-family: Helvetica, sans-serif;" class=3D""><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 9pt; font-family: "Courier = New"; color: rgb(68, 114, 196);" class=3D"">smsc-password =3D = xxxxxxxx</span><span style=3D"font-size: 9pt; font-family: Helvetica, = sans-serif;" class=3D""><o:p class=3D""></o:p></span></div><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: "Courier New"; color: rgb(68, 114, 196);" = class=3D"">allowed-smsc-id =3D id1</span><span style=3D"font-size: 9pt; = font-family: Helvetica, sans-serif;" class=3D""><o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 9pt; font-family: Helvetica, = sans-serif;" class=3D""> <o:p class=3D""></o:p></span></div><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: Helvetica, sans-serif;" class=3D""> <o:p = class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; = font-size: 12pt; font-family: "Times New Roman", serif;" = class=3D""><span style=3D"font-size: 9pt; font-family: Helvetica, = sans-serif;" class=3D"">Regards,<o:p class=3D""></o:p></span></div><div = style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: = "Times New Roman", serif;" class=3D""><span style=3D"font-size: = 9pt; font-family: Helvetica, sans-serif;" class=3D"">Franck<o:p = class=3D""></o:p></span></div></div></div></blockquote></div></div></div><= /blockquote></div></div></blockquote></div><div style=3D"margin: 0cm 0cm = 0.0001pt; font-size: 12pt; font-family: "Times New Roman", = serif;" class=3D""><o:p class=3D""> </o:p></div></div></div><style = class=3D"">ul[class*=3D'mb-extra__public-links'], = ul[class*=3D'mb-note__public-links'], ul[class*=3D'mb-task__public-links']= { display: none !important; }</style></div></blockquote></div><br = class=3D""></div></body></html>= --Apple-Mail=_30D449FA-EE9E-4997-B390-8F9D047D3F7E--